Function at 0x1c7f2
Capabilities:
Packed with generic packer

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x28
mov eax, dword [0x19044]
xor eax, ebp
mov dword [ebp - 4], eax
and dword [ebp - 0x20], 0
and dword [ebp - 0x24], 0
push ebx
mov ebx, dword [ebp + 0xc]
push esi
xor esi, esi
push edi
mov edi, dword [ebp + 8]
inc esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x1c], esi
test ebx, ebx
jne 0x1c856
call fcn.000131b4
int3
cmp dword [ebp + 0x14], 0x30
jae 0x1c87b
call fcn.000126fa
add byte [edx], al
add byte [eax + 0x2000a424], al
and byte [eax + eax + 0xed0480], ah
mov al, 0xb8
jo 0x1c8e5
or eax, 0x829e9c0
add byte [eax], al
call fcn.000131b4
int3
call fcn.000158fc
test eax, eax
jl 0x1ce2f
call fcn.00012357
fld dword [ecx]
add al, ah
add al, 0xef
add byte [eax], dl
sbb byte [eax + eax + 0xa41400], ah
shr al, 1
js 0x1c981
invalid
xchg byte [ebx - 1], ch
inc dword [eax - 0x7b2fff5c]
movsb byte es:[edi], byte [esi]
add byte [eax], dl
xchg ecx, eax
add byte [eax], al
xor byte [esi - 0x17bfff46], 0x41
jp 0x1c998
invalid
call [esp]
and byte [ecx], ch
add byte [eax], al
add byte [edx + 0x60f000c0], dl
movsb byte es:[edi], byte [esi]
add byte [eax - 0x75], dl
jae 0x1c9b5
call fcn.00012a5d
loopne 0x1c98e
pop es
mov al, 0xe4
mov dword [0xad8b000], eax
add byte [eax + 0x3000a3e8], dh
cmp dword [edi + 4], 0
jne 0x1c9dd
call 0x8331ca66
jg 0x1c9c9
add byte [ebp + 0x15], dh
cmp esi, 4
je 0x1caa4
inc byte [edi + ecx]
test bl, dl
add byte [eax], al
add bh, al
inc ebx
add al, 0x65
jno 0x1c9e4
mov dword [ebx + 4], 0xc00d7165
jmp 0x1d062
shr cl, 0x85
push es
add byte [eax], al
call fcn.00012a5d
loopne 0x1c9be
pop es
inc eax
in al, 0xa3
add al, dh
fmul dword [edx]
add al, al
call 0x8371ca96
inc byte [edi + ecx]
test byte [ecx - 0x18000000], ch
test byte [esi - 1], dh
push dword [ebp]
add byte [eax], al
cmp byte [eax + eax + 0xa43c80], ah
xor byte [eax - 0x178fff3e], bl
inc edx
pop ecx
invalid
mov eax, dword [ebp + 0x10]
cmp eax, 0x10
jb 0x1cab2
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x1c], ecx
xor ecx, ecx
cmp esi, ecx
je 0x1cf6c
cmp esi, 1
je 0x1ccba
call fcn.000126fa
add byte [edx], al
add byte [eax + 0x24], dh
movsb byte es:[edi], byte [esi]
add byte [eax - 0x4fff5be0], dl
add al, 0xed
add byte [eax + 0x7402fe83], al
dec esp
jle 0x1cb0a
cmp esi, 4
jg 0x1cb0a
call fcn.00013862
popal
dec eax
add dword [eax + 0x2000a42c], esp
fadd st(7)
add byte [eax], dl
sbb al, byte [eax]
add byte [eax], al
push dword [ebp + 0x14]
push eax
push ebx
call fcn.0001c7d8
jmp 0x1d00c
call fcn.000131b4
sbb dl, byte [ecx]
or eax, esi
fsub dword [ebx - 0x5c23d000]
add byte [eax - 0xfffff50], al
mov dword [ebp - 0x20], 0xc0000001
jmp 0x1d00c
call fcn.00014084
jne 0x1ccc1
add al, dl
cmp byte [eax + eax + 0xa43ce0], ah
add byte [eax - 0x387fff3e], bl
inc ebp
call fcn.00036b96
cmp dword [ebp - 0x1c], ecx
je 0x1ccf7
call fcn.00013862
sbb byte [eax + 1], cl
loopne 0x1cced
movsb byte es:[edi], byte [esi]
add byte [eax - 0x4fff0f23], al
inc dword [ecx]
add byte [eax - 0x39], ah
inc ebp
call fcn.00037057
add dword [eax], eax
pushal
mov dword [ebp - 0x18], 0x1a360
call fcn.000131b4
sbb dl, byte [ecx]
or eax, edx
fsub dword [ebx - 0x5c236000]
add byte [eax], ah
mov al, 0
add byte [eax + 0xf18f883], ah
cmp byte [0x8b000001], 0x73
adc al, 0x8b
inc ebx
adc byte [ecx - 0x97a27bb], cl
je 0x1ce52
push 0x5045
inc ebp
push eax
add byte [eax], al
push esi
push 1
call dword [0x170d0]
call fcn.000143db
inc esp
add al, ch
mov byte [0x44ffff76], al
movsb byte es:[edi], byte [esi]
add byte [eax], ah
cli
add byte [eax], al
pushal
ffreep st(0)
add byte [eax - 0x4fff5bb8], al
mov dword [ebp - 0x24], eax
test eax, eax
jne 0x1cd5c
mov dword [ebp - 0x20], 0xc0000017
jmp 0x1d027
call fcn.0001350b
and byte [eax + eax + 0xa48440], 0x10
xchg ecx, eax
add byte [eax], al
add byte [esi - 0x74efff46], dh
inc ebp
fmul dword [ebp + 0x4d39300c]
adc byte [edx + 0x78], dh
call fcn.000143db
je 0x1cd27
add byte [eax], dl
dec eax
add byte [eax], al
add byte [edi - 0x45], al
add byte [eax], ah
js 0x1cd33
add byte [eax], dl
call fcn.00014084
inc edx
add byte [eax], al
sar ah, 0xa3
add byte [eax + 0xa400], al
fdivr st(2), st(0)
add byte [eax + 0x56], ah
add eax, ebx
push eax
push dword [ebp - 0x24]
call fcn.000110a8
call fcn.0001350b
and byte [eax + eax + 0xa48480], 0x50
xchg ecx, eax
add byte [eax], al
mov al, byte [0x7000bab6]
call fcn.000131b4
int3
call fcn.00013862
pushal
dec eax
add dword [eax + 0x2c], eax
movsb byte es:[edi], byte [esi]
add byte [eax], al
fadd st(7)
add al, dh
sbb al, byte [eax]
add byte [eax - 0x44fbbc39], dh
or eax, 0xe9c033c0
push edx
add al, byte [eax]
add al, ch
mov dword [0x24ffff58], eax
add byte [eax], al
adc byte [esp], 0xb0
call fcn.000126fa
and al, 0
add byte [eax - 0x4fff5bac], al
push eax
movsb byte es:[edi], byte [esi]
add byte [eax], dh
mov ebx, 0xc7c000c0
inc ebp
loopne 0x1ce78
add byte [eax], al
shr cl, 0xef
add dword [eax], eax
add al, ch
ljmp 0x148
sbb dword [eax + 1], ecx
and byte [eax], cl
movsb byte es:[edi], byte [esi]
add al, dh
invalid
invalid
mov eax, dword [0x8dadc]
cmp dword [ebp - 0x1c], ecx
je 0x1cfa5
call fcn.00014084
jne 0x1cf7d
add byte [eax - 0xfff5bc8], ah
cmp al, 0xa4
add byte [eax + 0x5000c298], dh
call fcn.0001350b
invalid
cmp dword [ebx + 0x10], eax
jb 0x1d002
call fcn.000143db
je 0x1cf55
add byte [eax + 0x30000048], dl
inc edi
mov ebx, 0xa478b000
add byte [eax - 0x18], dh
pop ss
je 0x1cfc2
invalid
inc dword [esp]
push eax
cli
add byte [eax], al
push eax
ffreep st(0)
add byte [eax + 0x48], al
movsb byte es:[edi], byte [esi]
add byte [eax], dl
lea edx, [eax + 0x30]
cmp edx, dword [ebp + 0x14]
ja 0x1d002
call fcn.000126fa
and al, 0
add byte [eax + 0x54], dh
movsb byte es:[edi], byte [esi]
add byte [eax + 0x50], dl
movsb byte es:[edi], byte [esi]
add byte [eax - 0x6fff3f45], dh
push dword [ebp - 0x1c]
mov dword [ebx + 8], ecx
push ebx
mov dword [ebx + 4], ecx
call fcn.0001c298
jmp 0x1d00c
mov dword [ebx + 4], 0xc00d7170
mov dword [ebx + 0x10], eax
call fcn.000143db
pop esp
movsb byte es:[edi], byte [esi]
add byte [eax], al
sub dword [eax], eax
add byte [eax], al
xchg edx, eax
rol byte [eax], 0x60
pushal
movsb byte es:[edi], byte [esi]
add byte [eax + 0x103c7], dh
add byte [eax], al
cmp dword [ebp - 0x24], 0
je 0x1d062
call fcn.00014084
jne 0x1d034
add byte [eax + 0x38], ah
movsb byte es:[edi], byte [esi]
add byte [eax], dl
cmp al, 0xa4
add byte [eax], ah
cwde
ret 0
call fcn.000143db
pop esp
movsb byte es:[edi], byte [esi]
add byte [eax + 0x29], dh
add byte [eax], al
xor byte [edx + 0x601000c0], dl
movsb byte es:[edi], byte [esi]
add byte [eax - 0x18], dh
pop edi
jae 0x1d07a
invalid
inc dword [esp]
xor dl, bh
add byte [eax], al
sbb bh, 0xc0
add byte [eax + 0x1000a448], al
call fcn.000126fa
add byte [edx], al
add byte [eax], dl
and al, 0xa4
add al, dl
and byte [eax + eax + 0xed0420], ah
or byte [ebx + 0x4d8be045], 0xfc
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00011067
call fcn.000131b4
int3