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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov ecx, dword [eax + 4]
mov eax, 0xfffffffe
cmp word [ecx + eax + 2], 0
lea eax, [eax + 2]
jne 0x423150
mov ecx, 0xfffffffe
cmp word [ebx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423160
sar eax, 1
sar ecx, 1
lea edx, [eax + ecx]
add edx, 0x3f
test edx, edx
jns 0x423180
mov eax, 0xffffffff
jmp 0x423189
add eax, ecx
lea eax, [eax*2 + 0x7e]
push eax
call fcn.004082b0
add esp, 4
mov dword [esp], eax
mov dword [esp + 0x4c], 0x73cf71d6
mov dword [esp + 0x50], 0x7fd37dcf
mov dword [esp + 0x54], 0x7bb979ca
mov dword [esp + 0x58], 0x47f045f3
mov dword [esp + 0x5c], 0x43ef41fc
mov dword [esp + 0x60], 0x4ff24df4
mov dword [esp + 0x64], 0x4be64981
mov dword [esp + 0x68], 0x57aa5591
mov dword [esp + 0x6c], 0x53ab51a2
mov dword [esp + 0x70], 0x5fa75da0
mov dword [esp + 0x74], 0x5ba559a6
mov dword [esp + 0x78], 0x27df25d6
mov dword [esp + 0x7c], 0x238621dd
mov dword [esp + 0x80], 0x2f822d85
mov dword [esp + 0x84], 0x2b2a298a
mov byte [esp + 0x88], 0
xor eax, eax
nop
nop
nop
movzx edx, byte [esp + eax + 0x4c]
lea edi, [eax + 0x3df19e94]
mov ebp, 0x6b
sub ebp, eax
mov ecx, edi
or ecx, edx
lea esi, [eax + edx]
add esi, 0x3df19e94
not edx
or edx, ebp
and edx, ecx
not edx
and edx, edi
mov ecx, edx
and ecx, 2
mov edi, edx
or edi, 0xfffffffd
inc edi
mov ebp, edx
and ebp, 0x3df19efd
imul ebp, edi
or edx, 2
imul edx, ecx
sub ebp, edx
mov edx, 0xe4
sub edx, esi
sub edx, ebp
lea ecx, [esi + ebp]
add ecx, 0xca47e71b
mov esi, ecx
xor esi, 0xfe
or ecx, 1
and ecx, esi
or edx, 1
sub ecx, edx
mov byte [esp + eax + 0x4c], cl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 0x3d
jb 0x423220
mov dword [esp + 4], 0xd96fdb68
mov dword [esp + 8], 0xdd6fdf6c
mov dword [esp + 0xc], 0xd175d36a
mov dword [esp + 0x10], 0xd56dd769
mov dword [esp + 0x14], 0xa90eab78
mov dword [esp + 0x18], 0xad14af13
mov dword [esp + 0x1c], 0xa129a30b
mov dword [esp + 0x20], 0xa512a71c
mov dword [esp + 0x24], 0xb909bb08
mov dword [esp + 0x28], 0xbd30bf09
mov dword [esp + 0x2c], 0xb109b34f
mov dword [esp + 0x30], 0xb502b738
mov dword [esp + 0x34], 0x89388b0f
mov dword [esp + 0x38], 0x8d318f3d
mov dword [esp + 0x3c], 0x8130833d
mov dword [esp + 0x40], 0x857b877d
mov dword [esp + 0x44], 0x999a9b79
mov byte [esp + 0x48], 0
mov eax, 0xaf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0xab]
lea ecx, [eax - 0x432d1b00]
mov esi, eax
and esi, edx
or ecx, edx
xor ecx, esi
mov edx, ecx
and edx, 1
xor ecx, 1
add ecx, 0x94
mov esi, edx
not esi
and esi, ecx
lea ecx, [esi + edx*2]
mov byte [esp + eax - 0xab], cl
inc eax
cmp eax, 0xf4
jne 0x423340
mov edi, dword [esp + 0xa8]
mov ecx, dword [edi + 4]
movzx edx, word [ecx]
mov esi, dword [esp]
mov eax, esi
test dx, dx
je 0x4233b1
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 0x4233a0
mov word [eax], 0
movzx ecx, word [esp + 4]
test cx, cx
je 0x4233e1
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 0x4233d0
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
je 0x423411
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 0x423400
mov word [eax], 0
movzx ecx, word [esp + 0x4c]
test cx, cx
je 0x423441
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 0x423430
mov word [eax], 0
mov eax, dword [esp + 0xac]
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 0x423460
mov edx, dword [edi]
mov ecx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [edx + ecx + 2], 0
lea ecx, [ecx + 2]
jne 0x423480
mov esi, dword [edi + 8]
mov edx, 0xfffffffe
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp word [esi + edx + 2], 0
lea edx, [edx + 2]
jne 0x4234a0
sar eax, 1
sar ecx, 1
sar edx, 1
add ecx, eax
lea eax, [edx + ecx]
add eax, 0xb
mov ebp, 0xffffffff
test eax, eax
jns 0x4234c9
mov eax, 0xffffffff
jmp 0x4234d2
add ecx, edx
lea eax, [ecx*2 + 0x16]
mov esi, dword [esp]
push eax
call fcn.004082b0
add esp, 4
mov edi, eax
mov dword [esp + 4], 0x61c567cd
mov dword [esp + 8], 0x5df663f4
mov dword [esp + 0xc], 0x59d25fc3
mov dword [esp + 0x10], 0x558b5bd5
mov word [esp + 0x14], 0x5754
mov dword [esp + 0x16], 0
mov byte [esp + 0x1a], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ebp
or edx, 0x19
mov ecx, eax
or ecx, 0x19
add ecx, edx
add ecx, eax
inc cl
xor cl, byte [esp + eax + 4]
add cl, 0x83
mov byte [esp + eax + 4], cl
lea ecx, [eax + 1]
dec ebp
mov eax, ecx
cmp ecx, 0x17
jne 0x423520
movzx ecx, word [esp + 4]
mov eax, edi
test cx, cx
je 0x423571
lea edx, [esp + 6]
mov eax, edi
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 0x423560
mov word [eax], 0
movzx ecx, word [ebx]
test cx, cx
mov ebp, dword [esp + 0xa8]
je 0x4235a1
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 0x423590
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp]
movzx edx, word [ecx]
test dx, dx
je 0x4235d1
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 0x4235c0
mov word [eax], 0x5f
add eax, 2
mov ecx, dword [ebp + 8]
movzx edx, word [ecx]
test dx, dx
je 0x423601
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 0x4235f0
mov word [eax], 0
mov dword [esp + 4], 0xfffef9d6
mov word [esp + 8], 0
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, eax
add cl, 0x2a
xor cl, byte [esp + eax + 4]
add cl, 0x2e
mov byte [esp + eax + 4], cl
inc eax
cmp eax, 6
jne 0x423620
lea eax, [esp + 4]
push 0
push 1
push 0
push eax
push esi
push edi
push dword [esp + 0xb8]
call fcn.00423910
add esp, 0x1c
mov ebx, eax
jmp dword [0x447028]