Function at 0x424130
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 0x424150
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 0x424170
sar ecx, 1
add eax, ecx
add eax, 0x21
mov ecx, eax
and ecx, 0x1e
xor eax, 0x1e
lea eax, [eax + ecx*2]
test eax, eax
jns 0x424198
mov eax, 0xffffffff
jmp 0x42419a
add eax, eax
push eax
call fcn.0040c4e0
add esp, 4
mov esi, eax
mov dword [esp + 0x48], 0x39a13b9e
mov dword [esp + 0x4c], 0x258d27a5
mov dword [esp + 0x50], 0x21ef23ba
mov dword [esp + 0x54], 0x2dbc2fb1
mov dword [esp + 0x58], 0x29812bb0
mov dword [esp + 0x5c], 0x158a17b0
mov dword [esp + 0x60], 0x11be13a3
mov dword [esp + 0x64], 0x1dc21fd3
mov dword [esp + 0x68], 0x19dd1bc2
mov dword [esp + 0x6c], 0x5c107c4
mov dword [esp + 0x70], 0x1db03de
mov dword [esp + 0x74], 0xdc90fde
mov dword [esp + 0x78], 0x9ae0bd7
mov dword [esp + 0x7c], 0xf55af79f
mov dword [esp + 0x80], 0xf1f2f35a
mov word [esp + 0x84], 0
xor edi, edi
xor ecx, ecx
nop
nop
mov eax, edi
and eax, 0x16
mov edx, ecx
xor edx, 0xb4
sub edx, eax
xor dl, byte [esp + ecx + 0x48]
mov al, 0x88
sub al, dl
mov byte [esp + ecx + 0x48], al
inc ecx
add edi, 2
cmp ecx, 0x3e
jne 0x424230
mov dword [esp], 0x99679b78
mov dword [esp + 4], 0xa557a764
mov dword [esp + 8], 0xa14da35a
mov dword [esp + 0xc], 0xad45af49
mov dword [esp + 0x10], 0xa946ab48
mov dword [esp + 0x14], 0xb55cb743
mov dword [esp + 0x18], 0xb149b35b
mov dword [esp + 0x1c], 0xbd42bf44
mov dword [esp + 0x20], 0xb949bb58
mov dword [esp + 0x24], 0x45c04749
mov dword [esp + 0x28], 0x41a94377
mov dword [esp + 0x2c], 0x4db24fb8
mov dword [esp + 0x30], 0x49b84ba7
mov dword [esp + 0x34], 0x55a157b5
mov dword [esp + 0x38], 0x51a053a5
mov dword [esp + 0x3c], 0x5d6b5f65
mov dword [esp + 0x40], 0x595a5b69
mov byte [esp + 0x44], 0
mov eax, 3
mov ecx, 0xa4
nop
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax - 3]
mov ebp, eax
and ebp, 6
mov edx, ecx
and edx, 0xf9
or edx, ebp
mov ebp, ecx
and ebp, edi
xor edx, edi
xor edx, 0xf9
or edx, ebp
add dl, 0x39
mov byte [esp + eax - 3], dl
inc eax
dec ecx
cmp eax, 0x48
jne 0x4242f0
mov ebp, dword [esp + 0xa4]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x424351
add ecx, 2
mov eax, esi
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 0x424340
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x424381
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 0x424370
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x4243b1
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 0x4243a0
mov word [eax], 0
movzx ecx, word [esp + 0x48]
test cx, cx
je 0x4243e1
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 0x4243d0
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 0x424400
sar eax, 1
mov edx, dword [ebp]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x424420
sar ecx, 1
lea edi, [eax + ecx]
lea edx, [eax + ecx]
add edx, 0xa
lea ecx, [edi*2 + 0x14]
xor edx, 1
mov edi, dword [ebp + 8]
mov eax, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edi + eax + 2], 0
lea eax, [eax + 2]
jne 0x424450
and ecx, 2
add ecx, edx
sar eax, 1
add eax, ecx
jns 0x42446d
mov eax, 0xffffffff
jmp 0x42446f
add eax, eax
push eax
call fcn.0040c4e0
add esp, 4
mov edi, eax
mov dword [esp], 0x39953b85
mov dword [esp + 4], 0x25b227ac
mov dword [esp + 8], 0x21be238f
mov dword [esp + 0xc], 0x2d7f2fbd
mov word [esp + 0x10], 0x2b2c
mov dword [esp + 0x12], 0
mov byte [esp + 0x16], 0
mov eax, 0xb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax - 0xb]
mov edx, eax
and edx, ecx
add edx, edx
sub ecx, edx
add ecx, eax
add ecx, 0xf940b700
mov edx, ecx
xor edx, 0x37
mov ebp, ecx
or ebp, 0x48
and ebp, edx
xor ecx, 0xc8
lea ecx, [ecx + ebp*2]
inc cl
mov byte [esp + eax - 0xb], cl
inc eax
cmp eax, 0x22
jne 0x4244c0
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x424521
lea edx, [esp + 2]
mov eax, edi
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 0x424510
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov ebp, dword [esp + 0xa4]
je 0x424551
add ebx, 2
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 0x424540
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x424581
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 0x424570
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x4245b1
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 0x4245a0
mov word [eax], 0
mov dword [esp], 0x514e4f26
mov dword [esp + 4], 0
mov eax, 0xed
mov ecx, 0x12
nop
movzx ebx, byte [esp + eax - 0xed]
mov edx, eax
xor edx, ecx
and edx, ebx
xor edx, ecx
mov bl, 0x5e
sub bl, dl
mov byte [esp + eax - 0xed], bl
inc eax
dec ecx
cmp eax, 0xf5
jne 0x4245d0
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb4]
call fcn.004249e0
add esp, 0x1c
mov ebx, eax
jmp dword [0x44aba4]