Function at 0x402bb0
Capabilities:
Packed with generic packer
Resolve function by parsing pe exports

Disassembly:
pop esi
pop edi
mov esp, ebp
pop ebp
ret 8
or byte [ebx + 0x53520c55], cl
call 0x3fb000
mov eax, dword [ebp - 0x10]
push 1
push eax
push ebx
call 0x4083c0
add esp, 0x14
cmp dword [ebx + 8], 0
jne 0x402c7c
cmp eax, 0xffffffff
je 0x402c7c
test eax, eax
je 0x402be6
inc dword [ebp - 4]
jmp 0x402c05
mov ecx, dword [ebp + 0x10]
mov edx, dword [ecx + 8]
mov eax, dword [ebp - 8]
mov dword [ecx], 0x405a59
push 5
mov esi, dword [ebp + 8]
mov ecx, dword [str.MZ_Z]
and esi, eax
bswap eax
pop edx
add eax, edx
mov edi, eax
lodsd eax, dword [esi]
cmp cx, ax
mov eax, 0x20
je 0x402ddd
add byte [eax], al
add byte [edi], cl
test ah, al
add dword [eax], eax
add byte [ebx], ch
imul ebx
in eax, dx
add byte [eax], 0
add byte [eax], al
cmp dword [edi + 4], 0x12
jne 0x402c31
sub esi, edi
jmp 0x402c0a
push edi
call 0x3fbdac
add esp, 4
mov edi, dword [ebp + 0xc]
cmp dword [ebx + 0x10], edi
jne 0x402c50
push ebx
call 0x3fafdc
mov ecx, dword [ebp + 0x18]
mov edi, dword [edi + 4]
push ecx
call 0x3fc72c
add esp, 8
jmp 0x402c57
mov dword [ebp + 0xc], 0
inc ebp
or al, 0
add byte [eax], al
add byte [ebx + 0x458b0c4d], cl
clc
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 8]
mov edx, dword [ebp + 0x10]
inc eax
inc ebp
mov edi, 0x1aba8f27
cmp byte ds:[eax + 0x707f7c99], ah
scasb al, byte es:[edi]
enter 0x6691, 0x3e
push cs
aaa
sbb dword [esi + edx + 0x6e8b7b3c], ebx
daa
invalid
popal
and dword [ebx + edx], ecx
pop ebp
inc edi
sbb eax, 0xba923071
les ebx, [ecx]
sub dword [edx + edx*2], ebp
sbb eax, 0x337e4720
inc edx
push eax
test al, 0x51
jo 0x402ce7
xchg ecx, eax
and dword [ebx - 0x46d680ce], esi
dec ebp
adc cl, byte [ebp - 0x53]
cwde
bound esi, qword [eax + 0x49]
insb byte es:[edi], dx
pop ebp
outsd dx, dword [esi]
xchg dh, al
je 0x402c63
sahf
cmpsb byte [esi], byte es:[edi]
mov edi, 0x6c3964b5
dec ecx
or eax, 0x526f3490
mov byte [0x6364c716], al
dec eax
imul edi, dword [eax - 0x5bcc6da1], 0x70774928
jae 0x402c51
insb byte es:[edi], dx
cmp byte [edx - 0x38], ch
mov cl, 0xf
push ds
lea edi, [edx + 0x57]
jl 0x402d0b
dec ebx
jg 0x402d09
pushal
pop edx
pop eax
inc ebx
sbb dword [ebx - 0x7ba767a], esi
clc
cmp eax, dword [edx]
jl 0x402c10
test ecx, ecx
je 0x402d0e
cmp dword [ebx + 0x10], ecx
jne 0x402d05
push ebx
call 0x3fb060
mov ecx, dword [ebp + 0xc]
add esp, 4
mov ebx, ecx
mov eax, esi
call 0x3fcbe0
sahf
invalid
pop edi
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov dword [esi + 4], eax
or eax, 0xffffffff
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 4]
mov dword [esi], ecx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push eax
mov dword [ebp - 8], esi
push esi
mov eax, dword [esi + 0x38]
and eax, 0xffff
inc eax
mov ecx, esi
add ecx, 0x73
add eax, ecx
mov eax, dword [eax]
pop esi
dec esi
dec esi
dec esi
dec esi
mov edi, esi
add esi, eax
pop ecx
mov eax, dword [ecx + esi]
add edi, eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x14], eax
jmp 0x40384c
mov ecx, dword [ebp - 4]
push dword [ebp - 0xc]
pop esi
inc esi
mov eax, dword [esi + 0x23]
xchg ecx, eax
add eax, eax
inc esi
add ecx, dword [ebp - 8]
dec ecx
dec ecx
dec ecx
dec ecx
add ecx, eax
movzx eax, word [ecx]
mov ecx, dword [esi + 0x1a]
dec esi
lea eax, [ecx + eax*4]
dec esi
mov ecx, dword [ebp - 8]
dec ecx
dec ecx
dec ecx
dec ecx
mov eax, dword [ecx + eax]
add eax, ecx
test eax, eax
jne 0x402783
js 0x4035e5
add byte [eax], al
add edx, 7
add edx, ecx
xor ecx, ecx
test al, al
setne cl
lea ecx, [ecx*4 + 3]
sar edx, cl
movzx eax, byte [edx + 0x603a80]
mov eax, dword [eax*4 + 0x603bfc]
pop ebp
ret 4
and ecx, 0xfffff000
add eax, ecx
pop ebp
ret 4
sal byte [ebp - 0x56], 0x6a
push 0xdd8bff68
or ah, cl
mov ebp, dword [edx + 0x86868dd]
jne 0x403869
int3
mov dword [ebp - 0xc], esi
xor eax, eax
and dword [ebp - 4], eax
mov esi, dword [ebp + 0xc]
mov ecx, eax
inc ecx
lodsb al, byte [esi]
test eax, eax
jne 0x403859
mov eax, ecx
dec eax
dec ecx
mov dword [ebp - 0x10], eax
jne 0x403a2a
add dword [eax], eax
add bl, ah
cmp byte [ecx], 0x2f
jecxz 0x4037ee
cmp dword [edi], ebp
push edi
je 0x40387c
mov edi, ebx
call fcn.00403540
pop edi
ret
push esi
lea ecx, [ecx]
mov eax, dword [ebx]
mov cl, byte [eax]
cmp cl, 0x2f
add ecx, dword [edx + 0x2ff98008]
jne 0x4039ed
cmp byte [eax + 1], cl
jne 0x40399d
add eax, 2
mov dword [ebx], eax
jmp 0x4038a0
mov ecx, dword [ebx]
mov al, byte [ecx]
cmp al, 0x20
je 0x4038b4
cmp al, 9
jb 0x4038b0
cmp al, 0xa
jbe 0x4038b4
cmp al, 0xd
jne 0x4038bd
test al, al
je 0x4038a0
inc ecx
mov dword [ebx], ecx
jmp 0x4038a0
mov esi, dword [ebx + 0x20]
mov eax, dword [esi + 4]
mov edi, dword [esi + 0xc]
cmp dword [esi], eax
jl 0x40390a
mov ecx, dword [esi + 8]
sub byte [edx + 0x70], bh
or al, 0x48
jg 0x403881
inc edx
popfd
pop eax
inc eax
pop ebx
jae 0x403916
jb 0x403948
lea esp, [esi]
bound eax, qword [edi + ebp - 0x694b5c8a]
mov byte [0x65898798], al
aas
mov edi, dword [ebx + 0x78]
mov edx, 0xa8a67f23
sub esi, dword [edx]
cmpsd dword [esi], dword es:[edi]
inc ebp
push ss
jge 0x403923
daa
mov eax, dword [0x8b336228]
dec esp
xchg ebp, eax
mov bh, 0xc1
sbb dword [ebx], esp
imul edx, dword [ebx - 0x7b], 0x4079c891
sahf
xchg ecx, eax
enter 0x4079, 0xffffffffffffff9e
sbb edi, dword [ebx - 0x57]
sub al, byte [ecx - 0x3962eb7a]
xchg esi, eax
mov cl, 0x85
mov edx, dword [ebx]
cmpsb byte [esi], byte es:[edi]
mov byte [esi + eax*8 - 0x63], al
popfd
invalid
adc esp, dword [esi - 0x6239bb78]
mov ch, 0x1b
insb byte es:[edi], dx
jae 0x4038ed
sbb ebp, dword [ebx + esi*2 - 0x3a]
pop edi
sahf
pop ecx
mov ah, 0xa5
mov edi, 0x7a1253bf
dec edx
adc eax, 0x502b6a24
sub eax, 0x6e7d1a0f
mov ch, 0x8d
push ebx
xchg dword [ecx], esp
inc esi
xchg ebx, eax
mov edi, 0xa8b4755c
jne 0x4038fb
test al, 0x3c
xor eax, 0xc5c735d
xor byte [esi], ah
mov dl, 0x73
cmp al, 0x35
pop ebp
jae 0x4039a9
or al, 0x30
mov dl, 0x73
bound edi, qword [edx + ecx*2]
mov eax, dword [0x4ab19834]
jle 0x4038f0
and dl, byte [edx - 0x6f]
jae 0x40391c
stosd dword es:[edi], eax
sub byte [0x7c8e7699], cl
xchg edx, eax
pop ds
pop ds
xor al, 0xaf
pop ds
or edx, dword [edi + 0x44]
mov fs, word [ebp - 0x47]
push 0xb
cmpsb byte [esi], byte es:[edi]
and eax, 0xc5594079
cdq
or ebx, dword [ebx - 0x45647378]
inc ebp
daa
and eax, 0x45582511
and dword [ebp - 0x76cdb5a7], esi
or dl, byte [edx + ecx*2 + 0x57665651]
mov dl, 0x21
or eax, 0xbac29432
dec ebp
cmp dword [ecx + 0x288e8b3f], ebx
mov ebx, 0x9b743025
mov edx, 0x3f99394d
mov ecx, dword [esi + 0x3025bb28]
je 0x403945
wait
sbb esi, dword ds:[eax + 0x15]
inc edi
ret 0x892c
pop ds
push dword [ebp - 0x14]
pop eax
mov ecx, eax
mov eax, dword [edi]
dec eax
inc edi
inc edi
mov esi, dword [ebp - 8]
dec eax
dec eax
dec eax
add esi, eax
inc edi
inc edi
push ecx
xor eax, eax
push esi
mov ecx, eax
lodsb al, byte [esi]
inc ecx
test eax, eax
jne 0x403a45
mov eax, ecx
pop esi
dec eax
cmp dword [ebp - 0x10], eax
je 0x403aaf
pop ecx
inc dword [ebp - 4]
loop 0x403a30
sub al, 0x89
jl 0x403a6e
add al, 0x8b
push es
mov edx, dword [esi + 8]
imul eax, eax, 0x2c
mov dword [eax + edx + 8], 0xffffffff
mov eax, dword [esi]
mov edx, dword [esi + 8]
dec dword [ebx + 0x8568b06]
imul eax, eax, 0x2c
mov dword [eax + edx], 0xb
mov eax, dword [esi]
mov edx, dword [esi + 8]
imul eax, eax, 0x2c
mov dword [eax + edx + 0xc], 6
mov eax, dword [esi]
mov edx, dword [esi + 8]
imul eax, eax, 0x2c
mov dword [eax + edx + 0x10], 1
mov eax, dword [esi]
mov edx, dword [esi + 8]
imul eax, eax, 0x2c
mov dword [eax + edx + 0x14], ecx
mov eax, dword [esi]
mov edx, dword [esi + 8]
mov ecx, dword [ebp + 0xc]
call fcn.004032b0
test eax, eax
jne 0x403a54
je 0x403570
imul eax, eax, 0x2c
cmp dword [esi + 0x14], ecx
mov dword [eax + edx + 0x18], ecx
mov eax, dword [esi]
mov edx, dword [esi + 8]
imul eax, eax, 0x2c
mov dword [eax + edx + 0x1c], ecx
mov eax, dword [esi]
mov edx, dword [esi + 8]
imul eax, eax, 0x2c
mov dword [eax + edx + 0x20], ecx
inc dword [esi]
jmp 0x403b30