Function at 0x4239d0
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 0x4239f0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423a00
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x423a20
mov eax, 0xffffffff
jmp 0x423a29
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040c730
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x48], 0x2397218e
mov dword [esp + 0x4c], 0x27832597
mov dword [esp + 0x50], 0x3bf9398a
mov dword [esp + 0x54], 0x3f803d83
mov dword [esp + 0x58], 0x33973184
mov dword [esp + 0x5c], 0x378235bc
mov dword [esp + 0x60], 0xbae09d1
mov dword [esp + 0x64], 0xffa0dc1
mov dword [esp + 0x68], 0x3cb01f2
mov dword [esp + 0x6c], 0x7cf05f0
mov dword [esp + 0x70], 0x1bed19ee
mov dword [esp + 0x74], 0x1fd71dee
mov dword [esp + 0x78], 0x13be11e5
mov dword [esp + 0x7c], 0x17b215ad
mov dword [esp + 0x80], 0xebeae94a
mov byte [esp + 0x84], 0
xor ebp, ebp
xor ecx, ecx
nop
nop
nop
nop
movzx edi, byte [esp + ecx + 0x48]
mov edx, ecx
xor edx, 0xa1bc08b3
mov eax, ebp
and eax, 0x18
sub eax, edx
mov edx, 0x84
sub edx, eax
add eax, 0x7b
xor edx, eax
and edx, edi
xor edx, eax
add dl, 0x18
mov byte [esp + ecx + 0x48], dl
inc ecx
add ebp, 2
cmp ecx, 0x3d
jne 0x423ac0
mov dword [esp + 4], 0x43d141bc
mov dword [esp + 8], 0x47a945d0
mov dword [esp + 0xc], 0x4bab49da
mov dword [esp + 0x10], 0x4fab4dab
mov dword [esp + 0x14], 0x7396718c
mov dword [esp + 0x18], 0x77907591
mov dword [esp + 0x1c], 0x7bef7999
mov dword [esp + 0x20], 0x7fea7d90
mov dword [esp + 0x24], 0x638f619c
mov dword [esp + 0x28], 0x67fc658b
mov dword [esp + 0x2c], 0x6b8f6945
mov dword [esp + 0x30], 0x6ffa6df4
mov dword [esp + 0x34], 0x13fc11f5
mov dword [esp + 0x38], 0x17ff1587
mov dword [esp + 0x3c], 0x1bf419f7
mov dword [esp + 0x40], 0x1f351d37
mov dword [esp + 0x44], 0x302012b
xor edx, edx
mov eax, 0xd9a87a91
mov edi, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, edx
and ecx, 0x10
mov ebp, eax
sub ebp, ecx
movzx esi, byte [esp + edx + 4]
mov ecx, edi
or ecx, 0xd9a87a90
add ecx, ebp
xor ecx, esi
mov esi, ecx
and esi, 0x3fb59b2f
xor ecx, 0xbfb59b2f
lea esi, [ecx + esi*2]
mov ebp, esi
and ebp, 0x4e
xor esi, 0x4e
lea esi, [esi + ebp*2]
and ecx, 1
xor esi, 1
lea ecx, [esi + ecx*2]
add cl, 0xb2
mov byte [esp + edx + 4], cl
lea ecx, [edx + 1]
add eax, 2
dec edi
mov edx, ecx
cmp ecx, 0x44
jne 0x423b90
mov ebp, dword [esp + 0xa4]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov esi, dword [esp]
mov eax, esi
test dx, dx
je 0x423c11
add ecx, 2
mov eax, esi
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423c00
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x423c41
lea edx, [esp + 6]
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 0x423c30
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x423c71
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 0x423c60
mov word [eax], 0
movzx ecx, word [esp + 0x48]
test cx, cx
je 0x423ca1
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 0x423c90
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 0x423cc0
mov ecx, eax
and ecx, 0x12
mov edi, dword [ebp]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + edx + 2], 0
lea edx, [edx + 2]
jne 0x423ce0
sar eax, 1
xor eax, 9
sar edx, 1
add ecx, eax
lea eax, [ecx + edx]
add ecx, edx
add ecx, 0xd0075bc3
lea edx, [eax*2 - 0x5ff1487a]
xor ecx, 1
add ecx, 0x2ff8a43e
mov edi, dword [ebp + 8]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x423d20
and edx, 2
add ecx, edx
sar eax, 1
add eax, ecx
jns 0x423d3d
mov eax, 0xffffffff
jmp 0x423d3f
add eax, eax
push eax
call fcn.0040c730
add esp, 4
mov edi, eax
mov dword [esp + 4], 0xd7b7c993
mov dword [esp + 8], 0xd3a6d5a0
mov dword [esp + 0xc], 0xdfa2d1bd
mov dword [esp + 0x10], 0xdbe9dda3
mov dword [esp + 0x14], 0xd9d8
mov byte [esp + 0x18], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0xce
xor cl, byte [esp + eax + 4]
add cl, 0xfa
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 0x15
jne 0x423d80
movzx ecx, word [esp + 4]
mov eax, edi
test cx, cx
je 0x423dc1
lea edx, [esp + 6]
mov eax, edi
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 0x423db0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x423df1
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 0x423de0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x423e21
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 0x423e10
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x423e51
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 0x423e40
mov word [eax], 0
mov dword [esp + 4], 0x4f4e4996
mov eax, 0x92
mov ecx, 0x3282486d
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + eax - 0x8e]
lea ebx, [eax - 0x32824900]
lea edx, [ecx - 0x32824800]
mov ebp, ecx
and ebp, eax
xor edx, ecx
sub edx, ebp
add edx, ecx
xor edx, ebx
and edx, esi
xor edx, ebx
add edx, 0x8d2cd867
mov esi, edx
and esi, 0x3e
xor edx, 0xbe
lea edx, [edx + esi*2]
inc dl
mov byte [esp + eax - 0x8e], dl
inc eax
dec ecx
cmp eax, 0x96
jne 0x423e70
lea eax, [esp + 4]
push 0
push 1
push 0
push eax
mov esi, dword [esp + 0x10]
push esi
push edi
push dword [esp + 0xb4]
call fcn.00424170
add esp, 0x1c
mov ebx, eax
jmp dword [0x44ae20]