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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov edi, dword [esp + 0xa8]
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4235f0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423600
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x423620
mov eax, 0xffffffff
jmp 0x423629
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040c900
add esp, 4
mov esi, eax
mov dword [esp + 0x4c], 0x11891ff2
mov dword [esp + 0x50], 0x15f51385
mov dword [esp + 0x54], 0x9d31786
mov dword [esp + 0x58], 0xd940b99
mov dword [esp + 0x5c], 0x1e90f98
mov dword [esp + 0x60], 0x5960388
mov dword [esp + 0x64], 0x39e207ff
mov dword [esp + 0x68], 0x3dee3bf7
mov dword [esp + 0x6c], 0x31f53fee
mov dword [esp + 0x70], 0x35f933e4
mov dword [esp + 0x74], 0x29ff37e2
mov dword [esp + 0x78], 0x2de12bfa
mov dword [esp + 0x7c], 0x21c22ffb
mov dword [esp + 0x80], 0x25c623bb
mov dword [esp + 0x84], 0xd92627c6
mov ebp, 0x20bc6145
mov ecx, 0xdf439eba
nop
nop
nop
nop
movzx edx, byte [esp + ebp - 0x20bc60f9]
mov eax, ebp
and eax, edx
add eax, eax
sub eax, edx
add eax, ecx
and eax, ebp
add al, al
sub dl, al
movzx eax, dl
add eax, ebp
add al, 0xa7
mov byte [esp + ebp - 0x20bc60f9], al
inc ebp
dec ecx
cmp ebp, 0x20bc6181
jne 0x4236c0
mov dword [esp], 0x39a73b98
mov dword [esp + 4], 0x25b727a4
mov dword [esp + 8], 0x218d23ba
mov dword [esp + 0xc], 0x2d852f89
mov dword [esp + 0x10], 0x29862b88
mov dword [esp + 0x14], 0x15bc1783
mov dword [esp + 0x18], 0x118913bb
mov dword [esp + 0x1c], 0x1d821f84
mov dword [esp + 0x20], 0x19891bb8
mov dword [esp + 0x24], 0x5800789
mov dword [esp + 0x28], 0x1a90357
mov dword [esp + 0x2c], 0xd920f98
mov dword [esp + 0x30], 0x9980ba7
mov dword [esp + 0x34], 0x75e17795
mov dword [esp + 0x38], 0x71e073e5
mov dword [esp + 0x3c], 0x7d2b7f25
mov dword [esp + 0x40], 0x797a7b29
mov byte [esp + 0x46], 0
mov word [esp + 0x44], 0
mov eax, 0x4537730b
mov ecx, 0xbac88cf4
nop
nop
nop
movzx edx, byte [esp + eax - 0x4537730b]
mov ebp, eax
xor ebp, ecx
and ebp, edx
xor ebp, ecx
mov edx, 0x8a6b32fd
sub edx, ebp
mov ebp, edx
xor ebp, 0x35
and edx, 0x4a
add edx, edx
sub edx, ebp
mov byte [esp + eax - 0x4537730b], dl
inc eax
dec ecx
cmp eax, 0x45377352
jne 0x423790
mov ebp, dword [esp + 0xa4]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x4237f1
add ecx, 2
mov eax, esi
nop
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x4237e0
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x423821
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 0x423810
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x423851
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 0x423840
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x423881
lea edx, [esp + 0x4e]
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 0x423870
mov word [eax], 0
mov ebx, dword [edi]
mov eax, 0xfffffffe
nop
nop
nop
cmp word [ebx + eax + 2], 0
lea eax, [eax + 2]
jne 0x423890
mov edx, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x4238b0
mov edi, dword [ebp + 8]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + edx + 2], 0
lea edx, [edx + 2]
jne 0x4238d0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x4238f4
mov eax, 0xffffffff
jmp 0x4238fd
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.0040c900
add esp, 4
mov dword [esp + 0x48], eax
mov dword [esp], 0xcfafc9a3
mov dword [esp + 4], 0xc35ecd50
mov dword [esp + 8], 0xc752c1a5
mov dword [esp + 0xc], 0xfba9c553
mov word [esp + 0x10], 0xf9f8
mov dword [esp + 0x12], 0
mov byte [esp + 0x16], 0
xor eax, eax
nop
movzx ecx, byte [esp + eax]
mov ebp, eax
and ebp, 0x10
mov edx, eax
and edx, 2
mov edi, edx
xor edi, 2
imul edi, ebp
or ebp, 2
imul ebp, edx
mov edx, eax
xor edx, 0x93ed26d2
add edx, edi
add edx, ebp
lea ebp, [edx + edx]
not ebp
add ebp, edx
mov edi, edx
and edi, ecx
xor ebp, ecx
add ebp, ecx
sub ebp, edi
mov edi, edx
or edi, ecx
xor edx, ecx
add edx, ecx
not edx
add edx, edi
and edx, ebp
mov ecx, edx
not ecx
and ecx, 0x65
xor edx, 0x1a
lea ecx, [edx + ecx*2]
inc cl
mov byte [esp + eax], cl
inc eax
cmp eax, 0x17
jne 0x423940
movzx ecx, word [esp]
mov ebp, dword [esp + 0x48]
mov eax, ebp
test cx, cx
je 0x4239d1
lea edx, [esp + 2]
mov eax, ebp
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 0x4239c0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov edi, dword [esp + 0xa4]
je 0x423a01
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 0x4239f0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi]
movzx edx, word [ecx]
test dx, dx
je 0x423a31
add ecx, 2
nop
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 0x423a20
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x423a61
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 0x423a50
mov word [eax], 0
mov dword [esp], 0x4f4e4996
xor eax, eax
nop
movzx edx, byte [esp + eax]
lea edi, [eax + 0x92]
mov ecx, 0x6d
sub ecx, eax
xor ecx, edi
and ecx, edx
xor ecx, edi
add cl, 0x26
mov byte [esp + eax], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 4
jb 0x423a70
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push ebp
push dword [esp + 0xb4]
call fcn.00423d60
add esp, 0x1c
mov ebx, eax
jmp dword [0x44b9b0]