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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov ebx, dword [esp + 0x80]
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov ecx, dword [ebx + 4]
mov eax, 0xfffffffe
nop
nop
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x421a50
cmp eax, 0xffffffdd
jge 0x421a67
mov eax, 0xffffffff
jmp 0x421a6a
add eax, 0x22
push eax
call fcn.0040c640
add esp, 4
mov esi, eax
mov dword [esp + 8], 0x8331815c
mov dword [esp + 0xc], 0x87298530
mov dword [esp + 0x10], 0x8b2b893a
mov dword [esp + 0x14], 0x8f2b8d2b
mov dword [esp + 0x18], 0x9336914c
mov dword [esp + 0x1c], 0x97309531
mov dword [esp + 0x20], 0x9b2f9939
mov dword [esp + 0x24], 0x9f2a9d30
mov word [esp + 0x28], 0x6160
mov dword [esp + 0x2a], 0
mov byte [esp + 0x2e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x26
ja 0x421b26
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
mov ecx, dword [esp]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x98e28660
and eax, 0x18e28660
lea eax, [edx + eax*2]
xor eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
mov ecx, eax
xor ecx, 0xe0
and eax, 0x1f
add eax, eax
sub eax, ecx
mov ecx, dword [esp]
mov byte [esp + ecx + 8], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x27
jb 0x421ae0
mov ecx, dword [ebx + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x421b51
add ecx, 2
mov eax, esi
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 0x421b40
mov word [eax], 0
movzx ecx, word [esp + 8]
test cx, cx
je 0x421b81
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 0x421b70
mov word [eax], 0
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebx
mov eax, dword [esp + 0x84]
mov dword [esp + 0x60], eax
mov dword [esp + 8], 0x93059105
mov dword [esp + 0xc], 0x9fcb9d06
mov dword [esp + 0x10], 0x9b029935
mov dword [esp + 0x14], 0x872b8518
mov dword [esp + 0x18], 0x83118116
mov dword [esp + 0x1c], 0x8f198d25
mov dword [esp + 0x20], 0x8be1891e
mov dword [esp + 0x24], 0xf79df59f
mov dword [esp + 0x28], 0xf354f19a
mov dword [esp + 0x2c], 0xff6dfd61
mov dword [esp + 0x30], 0xfb68f955
mov dword [esp + 0x34], 0xe771e5a7
mov dword [esp + 0x38], 0xe37ee176
mov dword [esp + 0x3c], 0xef76ed41
mov dword [esp + 0x40], 0xeba3e974
mov dword [esp + 0x44], 0xd793d578
mov dword [esp + 0x48], 0xd3d2d1ba
mov dword [esp + 0x4c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x47
ja 0x421c9d
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 8]
mov edx, eax
xor edx, 0x89f7dc24
mov edi, eax
xor edi, 0x760823db
or eax, 0x9f7dc24
and eax, edi
lea eax, [edx + eax*2]
lea edx, [eax + ecx]
and eax, ecx
add eax, eax
sub edx, eax
mov dword [esp], edx
mov eax, dword [esp]
add al, 0x4c
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 8], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x48
jb 0x421c50
lea eax, [esp + 0x50]
lea ecx, [esp + 8]
push eax
push 0x421f40
push ecx
push esi
call fcn.00422820
add esp, 0x10
jmp dword [0x44b488]