Function at 0x424c90
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 eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
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 0x424cc0
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x424cd0
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x424cf0
mov eax, 0xffffffff
jmp 0x424cf9
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040cda0
add esp, 4
mov esi, eax
mov dword [esp + 0x50], 0x99e19bfe
mov dword [esp + 0x54], 0xa5cda7e5
mov dword [esp + 0x58], 0xa1efa3da
mov dword [esp + 0x5c], 0xaddcafd1
mov dword [esp + 0x60], 0xa9c1abd0
mov dword [esp + 0x64], 0xb5cab7d0
mov dword [esp + 0x68], 0xb1deb3e3
mov dword [esp + 0x6c], 0xbd82bff3
mov dword [esp + 0x70], 0xb9fdbb82
mov dword [esp + 0x74], 0xc581c784
mov dword [esp + 0x78], 0xc1fbc3fe
mov dword [esp + 0x7c], 0xcd89cffe
mov dword [esp + 0x80], 0xc9aecbf7
mov dword [esp + 0x84], 0xd5bad7bf
mov dword [esp + 0x88], 0xd1d2d3ba
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
mov ebp, eax
and ebp, 0x36
mov edx, ecx
xor edx, 0x1b
add edx, ebp
xor dl, byte [esp + ecx + 0x50]
add dl, 0x79
mov byte [esp + ecx + 0x50], dl
inc ecx
add eax, 2
cmp ecx, 0x3c
jne 0x424d90
mov dword [esp + 8], 0x813b8720
mov dword [esp + 0xc], 0x8d33833c
mov dword [esp + 0x10], 0x892d8f3e
mov dword [esp + 0x14], 0x95258b21
mov dword [esp + 0x18], 0x913a9730
mov dword [esp + 0x1c], 0x9d3c933f
mov dword [esp + 0x20], 0x99219f3f
mov dword [esp + 0x24], 0xe5269b2c
mov dword [esp + 0x28], 0xe151e740
mov dword [esp + 0x2c], 0xed58e351
mov dword [esp + 0x30], 0xe941ef9b
mov dword [esp + 0x34], 0xf556eb50
mov dword [esp + 0x38], 0xf140f75b
mov dword [esp + 0x3c], 0xfd59f34d
mov dword [esp + 0x40], 0xf948ff4d
mov dword [esp + 0x44], 0xc58ffb8d
mov dword [esp + 0x48], 0xc1c6c7b1
mov byte [esp + 0x4c], 0
mov eax, 0x21
mov ecx, 0xde
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebp, ecx
and ebp, 0xb2
mov edx, eax
and edx, 0x4d
or edx, ebp
xor dl, byte [esp + eax - 0x19]
xor dl, 0xb2
add dl, 0x5b
mov byte [esp + eax - 0x19], dl
inc eax
dec ecx
cmp eax, 0x66
jne 0x424e50
mov ebp, dword [esp + 0xa8]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x424ea1
add ecx, 2
mov eax, esi
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x424e90
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x424ed1
lea edx, [esp + 0xa]
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 0x424ec0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424f01
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 0x424ef0
mov word [eax], 0
movzx ecx, word [esp + 0x50]
test cx, cx
je 0x424f31
lea edx, [esp + 0x52]
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 0x424f20
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 0x424f40
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 0x424f60
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 0x424f80
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
mov dword [esp + 4], esi
jns 0x424fa8
mov eax, 0xffffffff
jmp 0x424fb1
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.0040cda0
add esp, 4
mov dword [esp], eax
mov dword [esp + 8], 0xb7d789f3
mov dword [esp + 0xc], 0xb326b520
mov dword [esp + 0x10], 0xbf22b1dd
mov dword [esp + 0x14], 0xbbe9bd23
mov dword [esp + 0x18], 0xb9b8
mov ebp, 0x229cc501
mov esi, 0x5d633afe
nop
movzx edi, byte [esp + ebp - 0x229cc4f9]
mov ecx, esi
and ecx, 0x41401063
mov eax, ebp
and eax, 0x2008c01c
sub eax, ecx
mov ecx, eax
and ecx, edi
add edi, eax
mov edx, edi
not edx
lea ecx, [edx + ecx*2]
not eax
or ecx, eax
sub eax, ecx
lea eax, [edi + eax*2]
mov ecx, eax
and ecx, 0x69
xor eax, 0xa61491e9
lea ecx, [eax + ecx*2]
and eax, 1
and edi, 1
and ecx, 0xfe
lea eax, [edi + eax*2]
add eax, ecx
mov byte [esp + ebp - 0x229cc4f9], al
inc ebp
dec esi
cmp ebp, 0x229cc515
jne 0x424ff0
movzx ecx, word [esp + 8]
mov ebp, dword [esp]
mov eax, ebp
test cx, cx
mov edi, dword [esp + 0xa8]
je 0x425081
lea edx, [esp + 0xa]
mov eax, ebp
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x425070
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov esi, dword [esp + 4]
je 0x4250b1
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 0x4250a0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi]
movzx edx, word [ecx]
test dx, dx
je 0x4250e1
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 0x4250d0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [edi + 8]
movzx edx, word [ecx]
test dx, dx
je 0x425111
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 0x425100
mov word [eax], 0
mov dword [esp + 8], 0x8382816a
mov eax, 0x347b2e0
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0x347b2d8]
mov edx, ecx
and edx, eax
add dl, dl
sub cl, dl
movzx ecx, cl
add ecx, eax
add cl, 0xa0
mov byte [esp + eax - 0x347b2d8], cl
inc eax
cmp eax, 0x347b2e4
jne 0x425130
lea eax, [esp + 8]
push 0
push 1
push 0
push eax
push esi
push ebp
push dword [esp + 0xb8]
call fcn.004253f0
add esp, 0x1c
mov ebx, eax
jmp dword [0x44ae7c]