Function at 0x425b20
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x425b40
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x425b50
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x425b70
mov eax, 0xffffffff
jmp 0x425b79
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040cd60
add esp, 4
mov esi, eax
mov dword [esp + 0x48], 0x19a11bbe
mov dword [esp + 0x4c], 0x65cd67a5
mov dword [esp + 0x50], 0x612f63da
mov dword [esp + 0x54], 0x6ddc6fd1
mov dword [esp + 0x58], 0x69c16bd0
mov dword [esp + 0x5c], 0x75ca77d0
mov dword [esp + 0x60], 0x71de7323
mov dword [esp + 0x64], 0x7d027f33
mov dword [esp + 0x68], 0x793d7b02
mov dword [esp + 0x6c], 0x45014704
mov dword [esp + 0x70], 0x413b433e
mov dword [esp + 0x74], 0x4d094f3e
mov dword [esp + 0x78], 0x49ee4b37
mov dword [esp + 0x7c], 0x55fa57ff
mov dword [esp + 0x80], 0x515253fa
mov byte [esp + 0x84], 0
mov eax, 0x51069d3b
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x51069cf3]
xor ecx, eax
mov edx, ecx
and edx, 0x58
xor ecx, 0xd8
lea ecx, [ecx + edx*2]
inc cl
mov byte [esp + eax - 0x51069cf3], cl
inc eax
cmp eax, 0x51069d78
jne 0x425c10
mov dword [esp], 0x93619174
mov dword [esp + 4], 0xaf59ad20
mov dword [esp + 8], 0xab4ba95a
mov dword [esp + 0xc], 0xa75ba55b
mov dword [esp + 0x10], 0xa35ea144
mov dword [esp + 0x14], 0xbf40bd41
mov dword [esp + 0x18], 0xbb37b959
mov dword [esp + 0x1c], 0xb73ab540
mov dword [esp + 0x20], 0xb347b154
mov dword [esp + 0x24], 0x4fc44dbb
mov dword [esp + 0x28], 0x4bb7497d
mov dword [esp + 0x2c], 0x47ca45cc
mov dword [esp + 0x30], 0x43b441bd
mov dword [esp + 0x34], 0x5fa75daf
mov dword [esp + 0x38], 0x5bac59af
mov dword [esp + 0x3c], 0x576d556f
mov dword [esp + 0x40], 0x5352516b
mov byte [esp + 0x46], 0
mov word [esp + 0x44], 0
mov eax, 0x317415c
mov edi, 0x18e8bea3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + eax - 0x317415c]
mov ecx, edi
and ecx, 0x10c80ed3
mov edx, eax
and edx, 0x212412c
or edx, ecx
xor edx, ebp
mov ecx, edx
xor ecx, 0xb5cd0ed3
add ecx, 0xbc8bb933
mov ebp, ecx
and ebp, 1
and ecx, 0xfe
and edx, 1
or edx, ecx
xor edx, 1
lea ecx, [edx + ebp*2]
mov byte [esp + eax - 0x317415c], cl
inc eax
dec edi
cmp eax, 0x31741a3
jne 0x425ce0
mov ebp, dword [esp + 0xa4]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x425d61
add ecx, 2
mov eax, esi
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x425d50
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x425d91
lea edx, [esp + 2]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425d80
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x425dc1
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x425db0
mov word [eax], 0
movzx ecx, word [esp + 0x48]
test cx, cx
je 0x425df1
lea edx, [esp + 0x4a]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425de0
mov word [eax], 0
mov eax, dword [esp + 0xa8]
mov ebx, dword [eax]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x425e10
sar eax, 1
lea edx, [eax*2 + 0x12]
add eax, 9
and edx, 2
mov edi, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x425e40
mov ebp, dword [ebp + 8]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebp + edi + 2], 0
lea edi, [edi + 2]
jne 0x425e60
xor eax, 1
add eax, edx
sar ecx, 1
sar edi, 1
add ecx, eax
lea eax, [edi + ecx]
inc eax
test eax, eax
jns 0x425e85
mov eax, 0xffffffff
jmp 0x425e8e
add ecx, edi
lea eax, [ecx*2 + 2]
push eax
call fcn.0040cd60
add esp, 4
mov edi, eax
mov dword [esp], 0x832381d7
mov dword [esp + 4], 0x872a8528
mov dword [esp + 8], 0x8b3e892d
mov dword [esp + 0xc], 0x8fe18d3f
mov dword [esp + 0x10], 0x9190
mov eax, esp
mov ecx, 0xdf
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
lea ebp, [ecx - 0x859c300]
or ebp, edx
and edx, ecx
not ebp
or ebp, edx
mov edx, ebp
and edx, 0x5f
xor ebp, 0x5f
lea edx, [edx*2]
add edx, ebp
inc dl
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0xcb
jne 0x425ed0
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x425f31
lea edx, [esp + 2]
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425f20
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov ebp, dword [esp + 0xa4]
je 0x425f61
add ebx, 2
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [ebx]
add ebx, 2
test cx, cx
jne 0x425f50
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x425f91
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x425f80
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x425fc1
add ecx, 2
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x425fb0
mov word [eax], 0
mov dword [esp], 0x939291aa
mov word [esp + 4], 0
mov eax, 0x1c
mov ecx, 0xe3
nop
nop
movzx edx, byte [esp + eax - 0x1c]
mov ebx, edx
not ebx
or ebx, ecx
or edx, eax
and edx, ebx
add dl, 0x74
mov byte [esp + eax - 0x1c], dl
inc eax
dec ecx
cmp eax, 0x22
jne 0x425fe0
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb4]
call fcn.00426280
add esp, 0x1c
mov ebx, eax
jmp dword [0x44cfc4]