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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov edi, 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 0x423b30
mov ecx, 0xfffffffe
cmp word [edi + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423b40
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x423b60
mov eax, 0xffffffff
jmp 0x423b69
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040c8e0
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x4c], 0x833781de
mov dword [esp + 0x50], 0x87238537
mov dword [esp + 0x54], 0x8bc9893a
mov dword [esp + 0x58], 0x8f208d23
mov dword [esp + 0x5c], 0x93379124
mov dword [esp + 0x60], 0x9722952c
mov dword [esp + 0x64], 0x9b3e99d1
mov dword [esp + 0x68], 0x9fea9de1
mov dword [esp + 0x6c], 0xe39be192
mov dword [esp + 0x70], 0xe79fe590
mov dword [esp + 0x74], 0xeb9de99e
mov dword [esp + 0x78], 0xef97ed9e
mov dword [esp + 0x7c], 0xf3aef185
mov dword [esp + 0x80], 0xf752f55d
mov dword [esp + 0x84], 0xfbfaf95a
mov dword [esp + 0x88], 0
xor eax, eax
mov ecx, eax
add cl, 0xa0
xor cl, byte [esp + eax + 0x4c]
add cl, 0xe0
mov byte [esp + eax + 0x4c], cl
inc eax
cmp eax, 0x40
jne 0x423c00
mov dword [esp + 4], 0x19a71bb8
mov dword [esp + 8], 0xe557e7a4
mov dword [esp + 0xc], 0xe14de35a
mov dword [esp + 0x10], 0xed45ef49
mov dword [esp + 0x14], 0xe946eb48
mov dword [esp + 0x18], 0xf55cf743
mov dword [esp + 0x1c], 0xf149f35b
mov dword [esp + 0x20], 0xfd42ff44
mov dword [esp + 0x24], 0xf949fb58
mov dword [esp + 0x28], 0xc540c749
mov dword [esp + 0x2c], 0xc169c337
mov dword [esp + 0x30], 0xcd72cf78
mov dword [esp + 0x34], 0xc978cb67
mov dword [esp + 0x38], 0xd561d775
mov dword [esp + 0x3c], 0xd160d365
mov dword [esp + 0x40], 0xdd2bdf25
mov dword [esp + 0x44], 0xd9dadb29
mov byte [esp + 0x4a], 0
mov word [esp + 0x48], 0
xor eax, eax
xor ecx, ecx
nop
nop
movzx ebx, byte [esp + ecx + 4]
mov ebp, eax
and ebp, 0xf6
mov edx, ecx
xor edx, 0x406ce87b
add edx, ebp
mov ebp, edx
and ebp, ebx
add edx, ebx
add ebp, ebp
sub edx, ebp
add dl, 0x99
mov byte [esp + ecx + 4], dl
inc ecx
add eax, 2
cmp ecx, 0x47
jne 0x423cb0
mov eax, dword [esp + 0xa8]
mov ecx, dword [eax + 4]
movzx edx, word [ecx]
mov ebx, dword [esp]
mov eax, ebx
test dx, dx
je 0x423d11
add ecx, 2
mov eax, ebx
nop
nop
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x423d00
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x423d41
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 0x423d30
mov word [eax], 0
movzx ecx, word [edi]
test cx, cx
je 0x423d71
add edi, 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 [edi]
add edi, 2
test cx, cx
jne 0x423d60
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x423da1
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 0x423d90
mov word [eax], 0
mov ebp, dword [esi]
mov eax, 0xfffffffe
nop
nop
nop
cmp word [ebp + eax + 2], 0
lea eax, [eax + 2]
jne 0x423db0
mov ecx, dword [esp + 0xa8]
mov edx, dword [ecx]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423dd0
mov edx, dword [esp + 0xa8]
mov edi, dword [edx + 8]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
cmp word [edi + edx + 2], 0
lea edx, [edx + 2]
jne 0x423df0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
test eax, eax
jns 0x423e14
mov eax, 0xffffffff
jmp 0x423e1d
add ecx, edx
lea eax, [ecx*2 + 0x16]
push eax
call fcn.0040c8e0
add esp, 4
mov edi, eax
jmp dword [0x449a08]