Function at 0x403a90
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
xchg edx, eax
adc al, 0x92
mov esi, dword [ebp + 8]
pop esi
mov ebx, dword [ecx]
or al, 0x85
cli
jne 0x403a95
mov eax, dword [esi + 0x824]
pop eax
sal byte [eax + ebx - 0x5f], 0xb4
add al, byte [ecx]
and edi, dword [edx + 0x16c840f]
adc eax, 0xb4a34800
add al, byte [ecx]
stc
popal
daa
add byte [eax], al
loop 0x403b03
mov ah, 2
inc ecx
add byte [ecx], al
jg 0x403ad7
mov eax, dword [esi + 0x10]
out 0x49, al
add al, byte [ecx + 0x35]
jmp 0x403b34
mov esi, ebp
adc byte [ecx + 0x3028c], ah
cmp ecx, eax
mov esi, edx
int 0xd1
rol byte [edx], 1
inc ecx
add byte [ecx + 0x774102c0], ah
inc ecx
inc eax
shr byte [ebx + 0x4102b8], 0xff
rol byte [edx], 0x41
add byte [ecx + 0x4102ac], ah
xor eax, 0x40d0105f
add byte [ebx], bh
ror dword [edi], 0x8d
pop ss
add ecx, esp
add byte [ebx + 0x410bc86f], cl
add byte [ebx + 0x5e7c1f8], cl
rol byte [eax], 1
cmp eax, ecx
jge 0x1213c25
mov ebp, dword [edi - 0x38]
or eax, dword [ecx]
mov edi, eax
shl edi, 5
add edi, edx
inc eax
mov dword [0x2ac], eax
call fcn.00406a00
mov edi, 0x410ba0
mov dword [0x410ba4], edx
push ecx
imul edx, dword [eax + 8], 0x6d604a00
or byte [eax], al
dec edx
pushal
insd dword es:[edi], dx
movsb byte es:[edi], byte [esi]
or eax, dword [ecx]
mov eax, dword [esi + 0xea30]
mov ebp, ecx
push esp
or byte [eax], al
add byte [ecx + 0x34b38b07], cl
or byte [eax], al
add byte [ecx - 0x7118fbb1], cl
cmp byte [eax], cl
add byte [eax], al
mov eax, dword [esi + 0x826]
mov edx, dword [esi + 0x834]
sub ecx, eax
pop edi
xchg byte [esi + 0x1b000f08], cl
inc ebp
test edi, ecx
jg 0x403b7e
jl 0x403afa
test ecx, ecx
jae 0x403b7e
nop
leave
movsb byte es:[edi], byte [esi]
ror byte [ecx + 0x4789104f], 0x80
mov dword [edi + 0x10], ecx
mov dword [edi - 0x80], eax
dec edi
adc byte [ecx - 0x71747fb9], cl
push eax
mov edx, 0x868b0000
mov ecx, dword [esi + 0xba50]
mov eax, dword [esi + 0x830]
xor byte [eax], cl
add byte [eax], al
cmp dl, byte [esi + 0x8e8]
sub ebx, edi
push 0x85486
add byte [ecx - 0x37a8ab3e], cl
or bh, byte [esp + eax - 0x7b]
leave
jae 0x403bae
xor ecx, ecx
xor eax, eax
inc esi
out 0x18, al
jne 0x403bfa
in eax, dx
mov edx, dword [ebx]
dec eax
or byte [eax], al
add byte [ebx + 0xae4086], cl
add byte [ebx + 0x8442b], cl
add byte [ebx], ch
enter 0x2d8b, 0x4c
fucomi st(5)
dec esp
sbb eax, edx
and al, al
jg 0x403bde
jl 0x403b7f
test dword [edi - 0x36ccfb8d], esi
xor eax, eax
mov dword [edi + 8], ecx
mov dword [edi + 0xc], eax
mov eax, dword [edi]
adc al, 0xc1
inc eax
jb 0x403b8c
leave
je 0x403c47
wait
cmp eax, 0x4102ac
mov eax, edi
cdq
dec edi
and eax, 0x2875d285
sal byte [ebp + 0x28], cl
mov edx, dword [0xd0b5c8]
push edi
add edx, 0x40
push 0xa7e840
push edx
call dword [0x40d680]
mov eax, dword [0xad07c0c8]
add eax, 0x40
push eax
call dword [0x1401854]
add esp, 0x10
xor bh, al
pop ss
inc ecx
jne 0x403bb6
dec esi
add al, 0x8d
push ebp
in al, dx
jp 0x403c77
lock add dword [eax], eax
add byte [eax], al
push edx
push eax
mov dword [ebp - 8], ecx
call 0xae6200
or dword [esi + 4], ecx
push ecx
call 0xf16810
push esi
invalid
sub esi, dword [ecx + 0x28c75600]
or byte [edx - 0x18000000], cl
xchg ebp, eax
cld
invalid
and byte [eax], bl
inc ecx
not byte [ecx - 0x39]
sti
cld
add byte [eax], ah
invalid