Function at 0x41cccd
Capabilities:
Packed with generic packer

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
cmp byte [esi + 0x3a], 0
jne 0x41ce4e
mov ebx, dword [ebp + 0xc]
movzx eax, word [ebx + 0x86]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x34]
push eax
push dword [esi]
call dword [0x48d61c]
mov ecx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov edx, dword [esi + 0x44]
mov edi, dword [esi + 0x48]
mov dword [ebp + 0x10], ecx
mov dword [ebp + 0xc], eax
mov dword [ebp - 8], edx
mov dword [ebp + 8], edi
test ecx, ecx
je 0x47e048
test eax, eax
je 0x47e05f
cmp dword [esi + 0x19c], 0
jne 0x47e076
lea eax, [ebp - 0x34]
push eax
push dword [ebx]
call dword [0x48d67c]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
sub eax, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x30]
sub edx, eax
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x1c]
push eax
push dword [esi]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x1c], ecx
call dword [0x48d654]
mov edi, dword [ebp - 0x1c]
mov eax, edi
imul eax, dword [ebp - 8]
cdq
idiv dword [ebp + 0x10]
mov esi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov word [ebx + 0x88], ax
mov eax, esi
imul eax, dword [ebp + 8]
cdq
idiv dword [ebp + 0xc]
mov word [ebx + 0x8a], ax
mov eax, dword [ebp - 0xc]
imul eax, dword [ebp - 8]
cdq
idiv dword [ebp + 0x10]
mov word [ebx + 0x8c], ax
mov eax, dword [ebp - 0x10]
imul eax, dword [ebp + 8]
cdq
idiv dword [ebp + 0xc]
mov word [ebx + 0x8e], ax
test cx, cx
je 0x41ce47
test ecx, 0x100
je 0x41cded
mov eax, dword [ebp - 0xc]
mov word [ebx + 0x8c], ax
test cl, 6
jne 0x41cded
test cl, 8
jne 0x47e088
mov eax, dword [ebp + 0x10]
cdq
sub eax, edx
sar eax, 1
cmp edi, eax
jg 0x47e0a6
test ecx, 0x200
je 0x41ce1c
mov eax, dword [ebp - 0x10]
mov word [ebx + 0x8e], ax
test cl, 0x60
jne 0x41ce1c
test cl, cl
js 0x47e0c8
mov eax, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
cmp esi, eax
jg 0x47e0e6
mov edx, dword [ebp + 8]
mov eax, ecx
and eax, 2
jne 0x47e10a
test cl, 4
jne 0x47e116
mov eax, ecx
and eax, 0x20
jne 0x47e158
test cl, 0x40
jne 0x47e164
pop edi
pop esi
pop ebx
leave
ret 0xc
mov edi, dword [ebp + 0xc]
mov ax, word [esi + 0x58]
cmp byte [edi + 0x90], 7
mov word [edi + 0x88], ax
mov ax, word [esi + 0x5c]
mov word [edi + 0x8a], ax
je 0x41cecb
mov ax, word [esi + 0x60]
mov word [edi + 0x8c], ax
mov ax, word [esi + 0x64]
mov word [edi + 0x8e], ax
lea eax, [ebp - 0x24]
push eax
push dword [edi]
call dword [0x48d61c]
or ebx, 0xffffffff
cmp dword [esi + 0x58], ebx
je 0x41ced3
cmp dword [esi + 0x5c], ebx
je 0x41cee0
lea eax, [ebp - 0x24]
push eax
push dword [edi]
call dword [0x48d67c]
cmp dword [esi + 0x60], ebx
je 0x47e024
cmp dword [esi + 0x64], ebx
je 0x47e036
cmp byte [edi + 0x90], 0
jne 0x41ce47
jmp 0x47e036
cmp byte [ebp + 0x10], 0
je 0x41ce86
jmp 0x41ce70
mov ax, word [ebp - 0x24]
mov word [edi + 0x88], ax
jmp 0x41ce9a
mov ax, word [ebp - 0x20]
mov word [edi + 0x8a], ax
jmp 0x41ce9f
test ebx, ecx
adc ch, al
dec ebx
dec eax
movsd dword es:[edi], dword [esi]
dec ebx
mov cl, 0xb1
mov ch, 0x5f
mov cl, 0xb5
pop edi
std
lea esi, [eax + 0x19c83f83]
imul ah
add bl, al
mov word [eax + 0x31], cs
jecxz 0x47e081
dec edx
popal
and dword [edi], ebx
sub byte [edi + 0x370b30ae], ch
sti
jl 0x47e000
sbb eax, dword [esi + 0x4afe1c2f]
dec edx
jbe 0x47e01a
add ecx, ebp
bound edx, qword [edi]
rol dword [edx + 0x419b1fe], 1
sub byte gs:[esi - 0x5e], cl
xchg cl, cl
movsd dword es:[edi], dword [esi]
and al, 0xa5
dec esi
mov byte [0x24a5c986], al
movsd dword es:[edi], dword [esi]
pop edx
mov dl, 0x5e
jecxz 0x47e0e3
scasb al, byte es:[edi]
cdq
cmp eax, 0xd0c9c792
sub al, 0x75
mov esi, 0x97766ca7
shr dword [esi + 0x1d], 0x1c
scasb al, byte es:[edi]
sbb al, 0xae
movsb byte es:[edi], byte [esi]
jle 0x47e0ab
in eax, 0xfa
mov edx, 0xab7272ae
stosd dword es:[edi], eax
test al, 0xc9
push edx
int 0xbe
xor al, 0xe1
sbb byte [eax + edx*4 - 0x2e], al
aaa
loope 0x47e0a2
inc esp
nop
sal byte [edi], cl
add esi, dword [edx + 0x24]
push esi
mov byte [edi], cl
js 0x47e058
aaa
movsd dword es:[edi], dword [esi]
sub dword [eax + 0xe], edi
push ecx
mov al, 0xee
in al, 0xed
invalid
arpl word [ecx], cx
popal
test dword [edx - 0x31], 0x50cd9d77
dec edx
iretd
push eax
daa
cli
aad 0xdc
lodsd eax, dword [esi]
sub byte [esp + ebx], ah
retf
xchg byte [eax + esi*8], dh
sahf
adc eax, 0x4288b14e
scasb al, byte es:[edi]
rcr byte [edx + 0x45], 1
add al, 0x86
xchg ebp, ebx
xchg edx, edx
push ds
inc edi
shr byte [0x8afab8ca], cl
pop ebx
cmp al, 0xe1
jo 0x47e147
mov bl, byte [ebx + 0x3c]
loope 0x47e158
pop esi
invalid
add ebp, ebx
mov byte [0x6ceff7dd], al
fstp dword [ecx - 0x35]
insd dword es:[edi], dx
pop ebx
retf
xchg edi, eax
sub dword [eax], edi
ror byte [eax], 0xce
dec ebx
fild word [edx + 0x6a7632dd]
inc edx
jne 0x47e191
add esi, dword [edx]
js 0x47e199
sbb dword [edx - 0x1e], eax
cwde
invalid
inc ecx
cmp eax, 0x432cdfb
or eax, 0x84489610
inc edi
or ebp, dword [ecx]
invalid
adc byte [esi + 0xb478448], dl
sub dword [esi + 0x226add33], ecx
jge 0x47e113
inc ecx
cli
int1
cmp dword [ecx + ecx*2 + 0x6bd1167], 0x5c
jne 0x47e151
mov al, 0x2e
push ebx
leave
push ebx
and eax, 0x8044d965
add byte [ebp - 0x5a], ch
scasb al, byte es:[edi]
sbb eax, 0xbd301ea0
cmp byte [edx + 0x34705929], 0x9b
lea ecx, [edx]
cmp eax, 0x43f17196