Function at 0x424ca0
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 0x424cc0
sar eax, 1
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x424ce0
add eax, 0x21
sar ecx, 1
mov edx, ecx
and edx, eax
xor ecx, eax
lea eax, [ecx + edx*2]
add eax, 0x1e
test eax, eax
jns 0x424d07
mov eax, 0xffffffff
jmp 0x424d11
lea eax, [ecx + edx*2]
lea eax, [eax*2 + 0x3c]
push eax
call fcn.0040ca00
add esp, 4
mov esi, 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 dword [esp + 0x84], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x48
xor cl, byte [esp + eax + 0x48]
add cl, 0x98
mov byte [esp + eax + 0x48], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x40
jb 0x424db0
mov dword [esp], 0x23b121cc
mov dword [esp + 4], 0x27b925b0
mov dword [esp + 8], 0xdb3bd94a
mov dword [esp + 0xc], 0xdf3bdd3b
mov dword [esp + 0x10], 0xd336d13c
mov dword [esp + 0x14], 0xd730d531
mov dword [esp + 0x18], 0xcb5fc929
mov dword [esp + 0x1c], 0xcf5acd50
mov dword [esp + 0x20], 0xc35fc12c
mov dword [esp + 0x24], 0xc74cc55b
mov dword [esp + 0x28], 0xfb1ff925
mov dword [esp + 0x2c], 0xff6afd74
mov dword [esp + 0x30], 0xf36cf115
mov dword [esp + 0x34], 0xf76ff567
mov dword [esp + 0x38], 0xeb74e977
mov dword [esp + 0x3c], 0xef35ed37
mov dword [esp + 0x40], 0xe3e2e13b
mov dword [esp + 0x44], 0
xor edi, edi
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + ecx]
mov eax, edi
and eax, 0xf0
mov edx, ecx
xor edx, 0xd6d6a878
add edx, eax
mov eax, edx
and eax, ebp
add edx, ebp
add eax, eax
sub edx, eax
add dl, 0xa8
mov byte [esp + ecx], dl
inc ecx
add edi, 2
cmp ecx, 0x48
jne 0x424e70
mov ebp, dword [esp + 0xa4]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x424ed1
add ecx, 2
mov eax, esi
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 0x424ec0
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x424f01
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 0x424ef0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424f31
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 0x424f20
mov word [eax], 0
movzx ecx, word [esp + 0x48]
test cx, cx
je 0x424f61
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 0x424f50
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 0x424f80
mov edx, eax
and edx, 0x12
mov edi, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x424fa0
sar eax, 1
mov ebp, dword [ebp + 8]
mov edi, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [ebp + edi + 2], 0
lea edi, [edi + 2]
jne 0x424fc0
xor eax, 9
add edx, eax
sar ecx, 1
sar edi, 1
add ecx, edx
lea eax, [edi + ecx]
add eax, 2
test eax, eax
jns 0x424fe7
mov eax, 0xffffffff
jmp 0x424ff0
add ecx, edi
lea eax, [ecx*2 + 4]
mov ebp, dword [esp + 0xa4]
push eax
call fcn.0040ca00
add esp, 4
mov edi, eax
mov dword [esp], 0x913d9f35
mov dword [esp + 4], 0x950e930c
mov dword [esp + 8], 0x89029733
mov dword [esp + 0xc], 0x8ddb8b1d
mov dword [esp + 0x10], 0x8f8c
mov byte [esp + 0x14], 0
xor eax, eax
mov ecx, eax
add cl, 0xa5
xor cl, byte [esp + eax]
add cl, 0xc7
mov byte [esp + eax], cl
inc eax
cmp eax, 0x15
jne 0x425030
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x425071
lea edx, [esp + 2]
mov eax, edi
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 0x425060
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x4250a1
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 0x425090
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x4250d1
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 0x4250c0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x425101
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 0x4250f0
mov word [eax], 0
mov dword [esp], 0x8186876e
mov dword [esp + 4], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + ecx]
mov ebp, eax
and ebp, 2
mov edx, ecx
xor edx, 0xd6a37a61
add edx, ebp
xor ebx, 0x800883e6
mov ebp, edx
and ebp, 0x80000266
or ebp, 0x42040408
and edx, 0x56a37809
xor edx, ebp
xor edx, 0xc20c87ee
mov ebp, ebx
and ebp, edx
add edx, ebx
add ebp, ebp
sub edx, ebp
add dl, 0x1b
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 8
jne 0x425120
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb4]
call fcn.00425430
add esp, 0x1c
mov ebx, eax
jmp dword [0x44cc60]