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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov edi, dword [esp + 0xac]
mov ebp, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov ecx, dword [ebp + 4]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x4245f0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x424600
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x424620
mov eax, 0xffffffff
jmp 0x424629
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040cb10
add esp, 4
mov esi, eax
mov dword [esp + 0x4c], 0xc357c1be
mov dword [esp + 0x50], 0xc7a3c557
mov dword [esp + 0x54], 0xcb89c95a
mov dword [esp + 0x58], 0xcfa0cda3
mov dword [esp + 0x5c], 0xf397f164
mov dword [esp + 0x60], 0xf762f56c
mov dword [esp + 0x64], 0xfb9ef9b1
mov dword [esp + 0x68], 0xffaafda1
mov dword [esp + 0x6c], 0xe3bbe1b2
mov dword [esp + 0x70], 0xe7bfe5b0
mov dword [esp + 0x74], 0xebbde9be
mov dword [esp + 0x78], 0xefb7edbe
mov dword [esp + 0x7c], 0x136e1145
mov dword [esp + 0x80], 0x1772157d
mov dword [esp + 0x84], 0x1b1a197a
mov word [esp + 0x88], 0
mov eax, 0x53c39150
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x53c39104]
xor ecx, eax
add ecx, 0x1853e067
mov edx, ecx
and edx, 0x6f
xor ecx, 0x6f
lea ecx, [ecx + edx*2]
add cl, 0x9a
mov byte [esp + eax - 0x53c39104], cl
inc eax
cmp eax, 0x53c3918e
jne 0x4246d0
mov dword [esp], 0x21ab2780
mov dword [esp + 4], 0x3d9323ac
mov dword [esp + 8], 0x399d3f8e
mov dword [esp + 0xc], 0x35853b81
mov dword [esp + 0x10], 0x318a3790
mov dword [esp + 0x14], 0xd8c338f
mov dword [esp + 0x18], 0x9810faf
mov dword [esp + 0x1c], 0x5860bbc
mov dword [esp + 0x20], 0x1b107a0
mov dword [esp + 0x24], 0x1d8803b1
mov dword [esp + 0x28], 0x19a11f6b
mov dword [esp + 0x2c], 0x15961b90
mov dword [esp + 0x30], 0x11a017ab
mov dword [esp + 0x34], 0x6da9139d
mov dword [esp + 0x38], 0x69d86fdd
mov dword [esp + 0x3c], 0x651f6b1d
mov dword [esp + 0x40], 0x61666711
mov word [esp + 0x44], 0
xor eax, eax
nop
nop
nop
movzx ecx, byte [esp + eax]
lea edx, [eax - 0x5266077]
and edx, ecx
add edx, edx
neg edx
add edx, eax
add edx, 0xfad99f89
add dl, cl
add dl, 0x53
mov byte [esp + eax], dl
mov ecx, eax
xor ecx, 1
and eax, 1
lea eax, [ecx + eax*2]
cmp eax, 0x46
jb 0x424790
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x4247f1
add ecx, 2
mov eax, esi
nop
nop
nop
nop
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 0x4247e0
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x424821
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 0x424810
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424851
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 0x424840
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x424881
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 0x424870
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 0x424890
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 0x4248b0
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 0x4248d0
mov dword [esp + 0x48], esi
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
mov esi, ebp
test eax, eax
jns 0x4248fa
mov eax, 0xffffffff
jmp 0x424903
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.0040cb10
add esp, 4
mov edi, eax
mov dword [esp], 0x33d331ef
mov dword [esp + 4], 0x3fca3dc8
mov dword [esp + 8], 0x3bc639d5
mov dword [esp + 0xc], 0xc7f1c537
mov word [esp + 0x10], 0xc1c0
mov dword [esp + 0x12], 0
xor ebp, ebp
xor ecx, ecx
mov edx, ecx
xor edx, 0x83e62467
mov eax, ebp
and eax, 0x30
sub eax, edx
add eax, 0xe35b58f4
mov edx, eax
and edx, 0x67
xor eax, 0x67
lea eax, [eax + edx*2]
xor al, byte [esp + ecx]
add al, 0x3c
mov byte [esp + ecx], al
inc ecx
add ebp, 2
cmp ecx, 0x16
jne 0x424940
movzx ecx, word [esp]
mov eax, edi
test cx, cx
mov ebp, esi
je 0x4249a1
lea edx, [esp + 2]
mov eax, edi
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 0x424990
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov esi, dword [esp + 0x48]
je 0x4249d1
add ebx, 2
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 0x4249c0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x424a01
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 0x4249f0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x424a31
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 0x424a20
mov word [eax], 0
mov dword [esp], 0x292a2bca
mov dword [esp + 4], 0
mov eax, 0x47
mov ecx, 8
nop
movzx ebx, byte [esp + eax - 0x47]
mov ebp, eax
and ebp, ebx
mov edx, ecx
xor edx, 0x4f
or edx, ebx
xor edx, ebp
add dl, 0x9d
mov byte [esp + eax - 0x47], dl
inc eax
dec ecx
cmp eax, 0x4f
jne 0x424a50
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb8]
call fcn.00424d40
add esp, 0x1c
mov ebx, eax
jmp dword [0x44ce80]