Function at 0x4725b3
Capabilities:
Packed with generic packer

Disassembly:
bound edx, qword fs:[ecx + 0x54]
inc esp
imul ecx, dword [ebx + 0x6e], 0x615c4553
pop edi
inc esi
push ebx
pop edx
pop ebp
inc ebp
inc esp
insd dword es:[edi], dx
push ebp
pop esp
insd dword es:[edi], dx
insd dword es:[edi], dx
inc ecx
js 0x4724e1
push 0x7b4d784a
push eax
popal
imul eax, dword [ebx - 0x7efff7a0], 0x7a53edfb
aad 0xf
test dword [ecx], ecx
add byte [eax], al
pop edx
mov byte [eax], cl
pop ebp
jnp 0x472509
movq qword [edi], mm0
bound edx, qword [esi + 0x61]
mov eax, dword [esi + 0x14]
jne 0x4724bc
push dword [0x40b7e8]
jbe 0x4724d1
jns 0x472527
pop eax
jnp 0x4724ff
js 0x472529
insb byte es:[edi], dx
dec si
insb byte es:[edi], dx
cmp eax, dword [0x40b5a0]
jne 0x4724d0
jne 0x4724cc
call 0x4701fc
push dword [ebp + 0x14]
invalid
invalid
jne 0x4724e6
adc al, 0x33
jne 0x4724cd
xor esi, dword [ebp - 8]
inc ecx
inc edx
dec edx
push edi
push edi
add esp, 0xc
push eax
inc esp
insd dword es:[edi], dx
dec ebx
dec eax
ret
and byte [eax + 0x24], 0x80
cmp ecx, 0xe0ccd81b
je 0x47247d
mov byte [eax + 0x25], 0xa
cmp dword [esp + 0x48], 0x24718a6d
jne 0x47254e
test dword [edx], ecx
add byte [eax], al
push edi
arpl word [edx + 0x4c], dx
push ecx
imul ecx, dword [edx + 0x78], 0x4fcb5
mov esi, dword [ebp + 8]
cmp byte [ebp + 0x13], 0
mov edi, dword [ebp + 0xc]
shr eax, 0x1f
mov ecx, dword [ecx + 0xc8]
jb 0x47247f
invalid
pop edi
mov al, byte [esi + 3]
mov dword [ecx + 4], edi
call esi
push 8
jae 0x472538
push esp
insd dword es:[edi], dx
lea eax, [ebp - 0x328]
push edx
inc eax
pop ecx
pop esp
push 0x8f9835a
push esi
dec eax
dec edx
inc edx
pop edx
mov byte [eax + 0x26], 0xa
cmp ebp, 0xc079549b
cmove eax, esi
and dword [eax + 0x38], 0
cmp dword [esp - 0xc], 0xf81fbacf
jne 0x4725aa
imul ecx, ecx, 0x14
test eax, eax
dec edi
inc ebp
pop edx
adc al, 0x85
ror byte [edi + 0x45], 0x5a
jne 0x47256f
ja 0x4725e2
jmp 0x90c9a
mov byte [eax + 0x34], 0
cmp dword [esp + 0x50], 0x30290641
push es
sub dword [eax], esi
jne 0x472619
dec dword [ebp + 0x14]
add al, 0
inc esi
push ecx
push 0x4d
pop eax
dec esp
pop ebx
inc esp
jle 0x472720
pop edi
inc ebx
je 0x472625
imul edx, dword [esp + ebp*2 + 0x66], 0x6f
pop esi
insd dword es:[edi], dx
push 0x74c01b78
push ss
jmp 0x47260c
add byte [eax], al
push dword [ebp - 0x24]
push dword [esi + 0x34]
mov dword [ebp - 4], 0xfffffffe
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test ebx, ebx
push ecx
lea edi, [eax + edi + 4]
mov edi, edi
push ebx
dec esp
pushal
imul edx, dword [ebx + ebp - 0x2f], 0xffffffe8
push esi
jmp dword [edx*4 + 0x407180]
add eax, 0x40
cmp edx, 0x9dda58ad
je 0x4725dc
mov edx, dword [ecx]
cmp ecx, 0x6f739359
adc dword [ecx + 0x739359f9], eax
outsd dx, dword [esi]
jne 0x472682
push ebx
mov eax, edx
push esi
inc esp
lea ecx, [ecx + esi - 4]
call eax
push esp
push ebx
dec esp
setne al
mov dword [edi + ecx*4 + 0x14], eax
jne 0x4726b1
fcom dword [eax + eax*2 - 0x1f8a0100]
cmp ecx, 3
pop esi
add edx, esi
cmp eax, edx
push 0xfaf17642
lea esp, [esp - 2]
mov word [esp], ax
lahf
lock xchg word [esp], ax
add byte [edi + 0x4c], bl
push esp
dec ebx
pop edx
dec ebx
imul ecx, dword [ebp + 0x5a], 0x7f0f6661
dec edi
adc byte [ebp + 0x5f], dl
xor ecx, ebp
mov al, byte [esi]
mov dword [ecx + 8], ebx
pop ebx
push ebx
js 0x4727a4
inc edx
arpl word [ebx + ecx*4 + 0x45], bx
or byte [edx + 0x42], dl
pop edx
call fcn.0047085f
cmp ebx, dword [ecx + 8]
ja 0x4728de
dec eax
push edi
pop edi
push esp
pop ecx
sub eax, ecx
dec eax
push 0xffffffffffffffe0
pop ebp
push 0x4d
outsb dx, byte [esi]
arpl word [ecx + 0x6b], bp
add byte [eax + 0x404c94], dl
outsb dx, byte [esi]
pop edi
push 0x626f7848
dec ebx
pop ebx
dec ebx
dec edx
pop esi
push esp
jne 0x472784
test ebx, eax
mov eax, dword [0x40b5e4]
pop esi
dec edx
dec ebp
cmp esi, ebx
add ecx, 1
jne 0x4727e7
ret
push esi
push edx
pop esi
inc eax
push eax
dec edi
inc edi
pop ebx
push ebp
inc esi
inc edx
push si
push esi
imul edx, dword [ebp + 0x53], 0x445b5868
push 0x5c40787b
inc esp
pop edi
inc esp
pop edi
push 0x6b57
push edx
dec edi
arpl word [esi + 0x4c], sp
js 0x47281f
push ecx
pop esp
dec ecx
dec ecx
pop edx
push 0x66
fisubr dword [eax + 0x27]
mov ch, dh
ret
mov dword [0x83660004], eax
jnp 0x4728ce
add byte [ebx], bh
ret
mov edi, eax
mov ebp, esp
cmp eax, edx
cmp eax, ebx
je 0x472951
mov edi, dword [ebp + 8]
pop ecx
mov dword [ebp - 4], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
inc esi
jnp 0x472941
outsb dx, byte [esi]
push 0x6e
dec eax
pop eax
dec esp
imul esi, dword gs:[ebx + edx - 0x75], 0x4b
add al, 0xc3
outsd dx, dword [esi]
inc esi
dec ebx
pop eax
pop edx
inc esp
popal
push esi
pop eax
bound ecx, qword [ebx - 0x5a71f014]
add byte [eax], al
add bh, bh
and al, 0x8d
xor byte [ecx + 0x40], dh
lea esi, [eax]
jno 0x47295f
add byte [esi - 0x7f], dl
inc byte [ebx]
pop ecx
ret 0xfc1
pushal
and edx, 3
sub eax, 8
jne 0x47291b
cmp eax, dword [0x40b5a0]
push edi
push eax
mov eax, dword [esi]
add edi, 4
cmp dword [ebp + 0x14], ebx
ret
push ebp
mov dword [ebp - 4], ecx
jb 0x4728bf
insd dword es:[edi], dx
jnp 0x4729b8
dec edi
pushf
lea esp, [esp - 4]
mov dword [esp], esi
call 0x4729eb
outsd dx, dword [esi]
dec esp
push 0x55
pop ebx
pushal
push 0x65
push ebp
js 0x4729c6
push edx
push esi
jnp 0x4729d5
bound esp, qword [esi + 0x78]
push edi
pop ebp
pop ecx
push ebx
insb byte es:[edi], dx
imul ebx, dword [ecx + 0x41], 0x42415058
arpl word [edi + 0x5d], dx
insb byte es:[edi], dx
inc esi
push edi
dec ecx
push eax
inc esi
dec esp
push ebx
bound ebx, qword [ecx + 0x50]
insb byte es:[edi], dx
pop esi
inc edi
imul ecx, dword [ebx + 0x51], 0x446f474d
inc edx
outsd dx, dword [esi]
dec edx
inc ebx
inc esp
inc ebx
pop eax
jns 0x472a1b
dec edi
pop esi
dec esp
jns 0x472a03
pop ebx
imul eax, dword [ebx + 0x63], 0x4c
pop ebx
inc ebx
inc ecx
pop ecx
bound ecx, qword [edx + 0x4b]
inc ebp
push ecx
jns 0x472a19
push 0x6b
inc ebp
push esp
inc ecx
bound ebp, qword [edx + 0x55]
push eax
insb byte es:[edi], dx
dec edi
inc ecx
jnp 0x472a41
js 0x472a28
pop esi
inc esp
pop esp
imul ecx, dword [eax + 0x5b], 0x505e695e
pop esi
push eax
lea eax, [esp + 0xa]
lea esp, [esp - 4]
mov dword [esp], ebp
call 0x472a00
mov dword [esp], ecx
mov ebp, esi
add ebp, 0xfff98d59
push word [esp + 0x10]
popf
mov edi, dword ds:[ebp]
pop ecx
lock xchg dword [esp], ebp
xchg dword [esp], ebp
lea esp, [esp + 4]
pop eax
lock xchg dword [esp], esi
lea esp, [esp + 4]
and al, 4
lea esp, [esp + 2]
cmp edi, 0x6dd5b461
jne 0x472a67
pop edi
dec edi
push bx
bound eax, qword [edx + 0x4b]
dec ebx
imul eax, dword [edi + 0x5c], 0x48
jns 0x472a91
pop esp
push ebp
outsb dx, byte [esi]
push 0x5d546249
push ebx
inc edi
push 0x7b
bound ebx, qword [ecx + 0x6e]
inc eax
pop ebx
inc esi
push esi
pushaw
imul ebp, dword [ecx + 0x62], 0x526a4079
push ecx
pop esp
inc edi
and dword [ebp - 0x20], 0
test edi, edi
invalid
invalid