Function at 0x423e60
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 0x423e80
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423e90
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x423eb0
mov eax, 0xffffffff
jmp 0x423eb9
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.0040ca00
add esp, 4
mov esi, eax
mov dword [esp + 0x48], 0x61e96702
mov dword [esp + 0x4c], 0x7d1d63ed
mov dword [esp + 0x50], 0x79237f0e
mov dword [esp + 0x54], 0x750c7b09
mov dword [esp + 0x58], 0x710977f8
mov dword [esp + 0x5c], 0x8dfe73f8
mov dword [esp + 0x60], 0x89f28fd7
mov dword [esp + 0x64], 0x85c68bcf
mov dword [esp + 0x68], 0x81cd87b6
mov dword [esp + 0x6c], 0x9dc983cc
mov dword [esp + 0x70], 0x99d79fd2
mov dword [esp + 0x74], 0x95d19baa
mov dword [esp + 0x78], 0x91f297db
mov dword [esp + 0x7c], 0xadee93eb
mov dword [esp + 0x80], 0xa9aeafce
mov word [esp + 0x84], 0
mov byte [esp + 0x86], 0
mov eax, 0xcc531769
mov ecx, 0x96
nop
nop
nop
nop
nop
movzx edi, byte [esp + eax + 0x33ace8df]
lea edx, [edi + edi]
not edx
add edx, edi
xor edx, eax
and edi, ecx
or edx, edi
lea ebp, [edi + edi]
not ebp
add ebp, edi
and ebp, edx
mov edx, ebp
not edx
and ebp, 0xb1
and edx, 0x4e
sub edx, ebp
add dl, 0xa4
mov byte [esp + eax + 0x33ace8df], dl
inc eax
dec ecx
cmp eax, 0xcc5317a8
jne 0x423f60
mov dword [esp], 0xf779f95c
mov dword [esp + 4], 0xf341f578
mov dword [esp + 8], 0xcf6ff17e
mov dword [esp + 0xc], 0xcb77cd77
mov dword [esp + 0x10], 0xc77ac96c
mov dword [esp + 0x14], 0xc378c579
mov dword [esp + 0x18], 0xdf53c161
mov dword [esp + 0x1c], 0xdb56dd68
mov dword [esp + 0x20], 0xd763d97c
mov dword [esp + 0x24], 0xd354d567
mov dword [esp + 0x28], 0x2f93d1a5
mov dword [esp + 0x2c], 0x2ba62da4
mov dword [esp + 0x30], 0x27942995
mov dword [esp + 0x34], 0x239b25ab
mov dword [esp + 0x38], 0x3f8c2193
mov dword [esp + 0x3c], 0x3b4d3d4b
mov dword [esp + 0x40], 0x3736394f
mov dword [esp + 0x44], 0
mov eax, 0x56
mov ecx, 0x29
nop
nop
nop
nop
nop
nop
nop
mov edi, ecx
and edi, 0xab
mov edx, eax
and edx, 0x54
or edx, edi
xor dl, byte [esp + eax - 0x56]
xor dl, 0xab
add dl, 0xd2
mov byte [esp + eax - 0x56], dl
inc eax
dec ecx
cmp eax, 0x9e
jne 0x424040
mov ebp, dword [esp + 0xa4]
mov ecx, dword [ebp + 4]
movzx edx, word [ecx]
mov eax, esi
test dx, dx
je 0x424091
add ecx, 2
mov eax, esi
nop
mov word [eax], dx
add eax, 2
movzx edx, word [ecx]
add ecx, 2
test dx, dx
jne 0x424080
mov word [eax], 0
movzx ecx, word [esp]
test cx, cx
je 0x4240c1
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 0x4240b0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x4240f1
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 0x4240e0
mov word [eax], 0
movzx ecx, word [esp + 0x48]
test cx, cx
je 0x424121
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 0x424110
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 0x424140
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 0x424160
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 0x424180
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 0x4241a7
mov eax, 0xffffffff
jmp 0x4241b0
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], 0xd97ddb6d
mov dword [esp + 4], 0xdd62df64
mov dword [esp + 8], 0xd166d367
mov dword [esp + 0xc], 0xd527d765
mov word [esp + 0x10], 0xabd4
mov dword [esp + 0x12], 0
mov word [esp + 0x16], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x2f
xor cl, byte [esp + eax]
add cl, 0x15
mov byte [esp + eax], cl
inc eax
cmp eax, 0x18
jne 0x424200
movzx ecx, word [esp]
mov eax, edi
test cx, cx
je 0x424241
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 0x424230
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x424271
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 0x424260
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x4242a1
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 0x424290
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x4242d1
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 0x4242c0
mov word [eax], 0
mov dword [esp], 0x171619ce
mov word [esp + 4], 0
mov eax, 0xde3ef2c6
mov ebp, 0x39
nop
nop
movzx edx, byte [esp + eax + 0x21c10d3a]
lea ecx, [edx + edx]
not ecx
add ecx, edx
mov ebx, ebp
and ebx, edx
not edx
or edx, ecx
and edx, eax
mov ecx, edx
xor ecx, ebx
not ebx
and ebx, edx
add ecx, edx
sub ecx, ebx
add cl, 0x22
mov byte [esp + eax + 0x21c10d3a], cl
inc eax
dec ebp
cmp eax, 0xde3ef2cc
jne 0x4242f0
mov eax, esp
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb4]
call fcn.00424620
add esp, 0x1c
mov ebx, eax
jmp dword [0x44cca4]