Function at 0x404f60
Capabilities:
Packed with generic packer

Disassembly:
add al, 0
nop
aaa
dec edx
push ebp
mov ebp, esp
mov dh, 0x45
std
mov dword [eax], 0xd9
mov eax, dword [ebp + 0xc]
pop ds
sal byte [ebp + 0xb], 0x8b
or eax, 0x2302dc
mov dword [ebp - 0x7c], ecx
mov eax, ecx
das
dec ebp
adc byte [ebp - 0x7af58a37], al
sal byte [esi + eax - 0x75], 0x50
pop ds
mov dword [ebp - 9], edx
push ebx
mov ebx, dword [ebp + 0x14]
push esi
push edi
test ebx, ebx
jne 0x404f9c
mov eax, 0x3621858
bound eax, qword [ebx]
mov edi, 8
cmp eax, edi
jb 0x404ffe
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x404fb4
push eax
call 0x413cd0
mov esi, dword [ebx + 0x18]
mov ecx, dword [ebx]
xchg dh, dl
pop ds
mov edx, edi
test esi, esi
jne 0x404fd1
cmp ebx, esi
jae 0x404f5b
mov esi, dword [eax + 4]
not esp
add al, 0x42
test dword [eax], edi
je 0x404f66
mov esi, dword [eax]
test esi, esi
je 0x40502a
mov dword [esi], edi
mov esi, 0xf3889ff
test dword [ebx], ebx
popal
add bh, dl
sub dl, byte [esi]
add byte gs:[eax], 0
add byte [ebx - 0x707c03b0], cl
add al, 0x49
xchg edi, eax
sal byte [ebp + 4], cl
test ecx, ecx
aaa
int1
mov dword [ebx], ecx
jmp 0x40506d
mov eax, dword [ebx + 0x14]
lea esi, [ebx + 0x14]
sbb eax, 0x7f2fbcc0
inc ebx
xor dword [ebp + 0x5b0674c0], eax
call fcn.0040a2d0
mov edx, dword [edx - 0x97acf75]
je 0x40502a
cmp dword [esi - 0x76], edi
ret
mov bl, 0x43
or al, 0x85
sal byte [esi + eax - 0x1e], 0xe8
or dword [ebx], edx
add byte [eax], ch
and byte [eax], al
add bh, bh
adc eax, sym.imp.MSVCRT.dll_malloc
fild word [eax - 0x7afb3b7d]
test byte [edi], 0x84
fld dword [eax]
add byte [eax], al
lea edi, [edx]
sbb byte [ebp + 0x20d086], cl
add bh, al
push es
cmp eax, edi
add byte [eax], al
mov dword [esi + 8], edi
mov dword [esi + 0x10], edx
mov dword [esi + 0x14], eax
jmp 0x40509d
mov esp, esi
or byte [ebx - 0x72df7ba], cl
mov eax, dword [ebx + 4]
int3
mov edi, dword [esi + 0x10]
mov ecx, dword [ebp + 0x10]
pushal
mov dword ss:[esi + 0x28], esi
lea eax, [edi + 0x40]
mov dword [ecx + 0x34], edx
mov dword [esi + 0x10], eax
sbb eax, 0x5d8b185f
dec byte [ecx + 0x77893077]
sub al, 0x33
test byte [ecx - 0x2174df62], 0x70
ja 0x4050cb
mov dword [edi + 0x10], esi
jae 0x405143
ja 0x4050e1
adc al, 0x89
mov ebp, 0x3c770b38
mov dword [ebp + 0x3c770b38], edi
pop ecx
ja 0x4050f2
mov dword [edx + 0x24], edi
mov dword [eax + ebp + 0x62741f89], esi
mov ebp, dword [esi + 0x27e85218]
scasb al, byte es:[edi]
sbb byte [edx - 0x18], dl
daa
jecxz 0x4050e7
invalid
fidivr word [ebx]
sahf
mov dword [ebp + 0x10], eax
je 0x405118
push eax
call 0x410ed0
mov eax, dword [ebp + 0x10]
imul ecx, dword [ebx + 4], 0x934fc383
push edi
sbb al, 0x3b
into
pop eax
or dh, byte [ebx + eax - 3]
fidivr dword [ebp + 0x458b0000]
adc byte [ecx + 0x4b], ch
add al, 0x83
ret
xchg edx, eax
add byte [ebx + 0x38890846], cl
pop edi
pop esi
xor edx, dword [ecx]
pop ebx
sub al, 0xc2
adc byte [ecx + 0x1010458b], dh
sal byte [edi + eax + 0x6a], 0xbd
call eax
add esp, 4
pop edi
xor byte [ebx + 0xc], al
add byte [eax], al
add byte [ebx + 0x5d], bl
mov byte [eax], dl
add byte [eax + 0x7789d377], ah
jne 0x4050d4
ja 0x405118
mov dword [edi + 0x75], esi
mov eax, dword [ebp + 8]
mov dword [eax], edi
pop edi
pop esi
xor eax, eax
push esi
xchg cl, bl
inc ebp
or byte [ecx + 0x335e5f38], cl
rcl byte [esi - 0x7a], 0xd9
adc byte [eax], al
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop