Function at 0x406f07
Capabilities:
Packed with generic packer

Disassembly:
pop dword [eax]
add byte [eax], al
push ebp
mov ebp, esp
mov eax, 0x11c4
call fcn.0042f8a0
mov eax, dword [ebp + 0xc]
or dword [ebp - 0x28], 0xffffffff
or dword [ebp - 0x20], 0xffffffff
push ebx
push esi
mov ebx, edx
push edi
mov edi, ecx
xor ecx, ecx
xor edx, edx
inc edx
mov esi, ecx
mov dword [ebp - 0x14], ebx
pop ebp
in al, dx
mov dword [ebp - 0x10], edi
mov dword [ebp - 0x30], edx
mov dword [ebp - 8], ecx
mov dword [ebp - 4], esi
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x24], edi
test eax, eax
je 0x40746d
mov dword [eax], ecx
mov eax, dword [ebp + 0x10]
test eax, eax
je 0x407414
mov dword [eax], ecx
mov dword [ebp - 0xd0], 0x4ae7e0
mov dword [ebp - 0xcc], 0x4ae8e0
mov dword [ebp - 0xc8], 0x4ae9e0
mov dword [ebp - 0xc4], 0x4aeb20
test ebx, 0xd8008580
jne 0x40741b
test ebx, 0x10000
jne 0x407427
push 0x28
pop edx
mov dword [ebp - 0x6c], ecx
cmp word [edi], dx
je 0x482c42
test ebx, 0x800
je 0x407436
cmp dword [ebp - 0x18], 0
mov dword [ebp - 4], 1
jne 0x40742f
test ebx, 0x2000
je 0x482f00
mov ecx, 0x1800000
mov eax, ebx
and eax, ecx
cmp eax, ecx
je 0x40743e
mov eax, ebx
push 2
pop edx
and eax, 0x700000
add byte [eax], dh
jne 0x482f1c
mov dword [ebp - 0x54], edx
xor ecx, ecx
lea eax, [ebp - 0x11c0]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0xa0], ecx
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x7c], ecx
lea eax, [ebp - 0x1c0]
mov ecx, edi
mov dword [ebp - 0x94], 0x800
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x98], 0x14
mov dword [ebp - 0xb8], edi
call fcn.00408b7e
lea eax, [edi + eax*2]
mov dword [ebp - 0xb4], eax
lea eax, [edi + esi*2]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], eax
lea eax, [ebp - 0x11c0]
mov dword [ebp - 0x18], eax
xor ecx, ecx
mov eax, 0x83
mov word [ebp - 0x11c0], ax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0xd0]
push eax
push ecx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x3c]
push eax
push ecx
push ecx
push ecx
push ecx
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0xac], ecx
push eax
lea edx, [ebp - 0x18]
mov ecx, ebx
mov dword [ebp - 0x70], ebx
call fcn.00407474
mov esi, dword [ebp - 8]
add esp, 0x34
test esi, esi
jne 0x48314e
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x30], ecx
cmp ecx, 0x10000
jg 0x407442
cmp dword [ebp - 0x58], esi
jne 0x482f9c
mov eax, dword [ebp - 0x9c]
imul eax, dword [ebp - 0xa0]
add eax, ecx
lea esi, [eax*2 + 0x38]
push esi
call dword [0x4bbddc]
mov ebx, eax
pop ecx
test ebx, ebx
je 0x40741f
mov dword [ebx + 4], esi
mov dword [ebx], 0x50435245
mov eax, dword [ebp - 0x70]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x28]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x20]
mov dword [ebx + 0x14], eax
xor eax, eax
mov dword [ebx + 0x18], eax
push 0x1c
pop eax
mov word [ebx + 0x22], ax
mov ax, word [ebp - 0x9c]
mov word [ebx + 0x24], ax
mov ax, word [ebp - 0xa0]
mov word [ebx + 0x26], ax
xor esi, esi
mov dword [ebx + 0x30], esi
mov dword [ebx + 0x34], esi
xor eax, eax
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x90], esi
mov dword [ebp - 0x88], esi
movzx eax, word [ebx + 0x22]
lea edx, [ebx + eax*2]
mov dword [ebp - 0xa4], edx
movzx eax, word [ebx + 0x24]
movzx ecx, word [ebx + 0x26]
imul ecx, eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xa0]
lea edi, [edx + ecx*2]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0xbc], edi
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0xac], esi
test eax, eax
jg 0x482fb2
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x24], eax
push esi
mov eax, 0x83
mov word [edi], ax
mov ecx, dword [ebx + 8]
lea eax, [ebp - 0xd0]
push eax
push esi
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x3c]
push eax
push esi
push esi
push esi
push esi
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x24]
push eax
lea edx, [ebp - 0x18]
mov dword [ebp - 0x18], edi
call fcn.00407474
mov ax, word [ebp - 0x90]
mov word [ebx + 0x1e], ax
mov ax, word [ebp - 0x84]
mov word [ebx + 0x20], ax
mov ax, word [ebp - 0x88]
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0x6c]
or eax, 2
add esp, 0x34
mov dword [ebx + 0xc], eax
cmp dword [ebp - 0x64], 0
jne 0x483004
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x34], eax
mov esi, dword [ebp - 8]
xor edx, edx
mov dword [ebp - 8], esi
test esi, esi
jne 0x40728a
mov eax, dword [ebp - 0x24]
cmp word [eax], dx
jne 0x483014
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov word [eax], cx
add eax, 2
mov dword [ebp - 0x18], eax
sub eax, edi
sar eax, 1
cmp eax, dword [ebp - 0x30]
jg 0x48301f
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc0]
cmp eax, ecx
ja 0x48302a
cmp dword [ebp - 0x94], 0x800
jg 0x48309e
xor eax, eax
mov dword [ebp - 0xc0], eax
test esi, esi
jne 0x4072e3
mov ax, word [ebx + 0x20]
cmp ax, word [ebx + 0x1e]
ja 0x4830ab
test dword [ebp - 0x14], 0x20000
mov esi, dword [ebp - 4]
jne 0x407300
lea eax, [ebp - 0xd0]
push eax
mov edx, esi
mov ecx, edi
call fcn.00408b8e
pop ecx
cmp dword [ebp - 0x5c], 0
jne 0x4830b6
mov esi, dword [ebp - 8]
test esi, esi
jne 0x483146
mov eax, dword [ebx + 8]
mov esi, 0x80
mov dword [ebp - 0x38], eax
mov dword [ebp + 0xc], esi
test al, 0x10
jne 0x407380
xor esi, esi
lea eax, [ebp - 0xd0]
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.00406d75
pop ecx
pop ecx
test eax, eax
jne 0x48317c
mov eax, dword [ebp - 0xc]
test eax, eax
jns 0x4073bf
push esi
lea edx, [ebp - 0xc]
mov ecx, edi
call fcn.00406bc4
mov edx, eax
mov eax, dword [ebp - 0xc]
pop ecx
test eax, eax
jns 0x4073c2
hlt
lea eax, [ebp - 0xd0]
push esi
push eax
xor edx, edx
mov ecx, edi
call fcn.00406c8a
pop ecx
pop ecx
test eax, eax
jne 0x48318a
mov esi, 0x80
mov eax, dword [ebp - 0x28]
test eax, eax
jns 0x4073d9
mov esi, dword [ebp - 0x18]
xor eax, eax
push eax
lea eax, [ebp - 0xd0]
push eax
push dword [ebp - 4]
mov edx, esi
mov ecx, edi
call fcn.00408922
add esp, 0xc
test eax, eax
jne 0x407461
movzx eax, word [edi + 2]
lea edi, [edi + eax*2]
cmp word [edi], 0x77
je 0x40738a
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret
mov edx, dword [ebp - 0x3c]
mov word [ebx + 0x18], dx
test al, 1
jne 0x483196
mov esi, 0x80
or dword [ebx + 0xc], 0x10
jmp 0x407380
test byte [ebx + 8], 0x10
jne 0x407446
mov edx, dword [ebp - 0x34]
mov word [ebx + 0x1a], dx
test al, 1
je 0x40740b
cmp dword [ebp - 4], 0
je 0x407450
cmp dx, si
jae 0x48320d
mov eax, dword [ebp - 0xcc]
movzx ecx, dx
movzx eax, byte [ecx + eax]
cmp ax, dx
jne 0x40745c
or dword [ebx + 0xc], 0x40
jmp 0x407387
push 0x10
jmp 0x482c3c
push 0x11
jmp 0x407421
push 0x15
pop esi
jmp 0x48314e
mov dword [ebp - 0x18], edx
jmp 0x406f99
push 0x4e
jmp 0x482c3c
mov dword [ebp - 4], ecx
jmp 0x406fd1
push 0x38
jmp 0x407421
push 0x14
jmp 0x407421
test al, 2
je 0x407387
invalid
invalid
jmp 0x4073df
mov eax, 0xff
cmp dx, ax
ja 0x40740b
jmp 0x4073f9
or dword [ebx + 0xc], esi
jmp 0x40740b
or dword [ebx + 0xc], 0x8000
jmp 0x4073b8
xor eax, eax
jmp 0x4073ba
dec esp
and al, 0x44
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x2c], ecx
mov eax, 0x85
mov dword [esp + 0x6c], esi
lea ecx, [edx + 4]
mov dword [esp + 0x14], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0xc], ecx
cmp word [esi], ax
je 0x407673
lea eax, [esi + 2]
xor ebx, ebx
mov dword [esp + 0x5c], eax
mov word [eax], bx
lea eax, [edx*2 + 4]
mov dword [esp + 0x54], eax
add esi, eax
mov eax, dword [edi + 0x40]
push 0x7c
mov dword [esp + 0x38], eax
mov dword [esp + 0x5c], eax
pop edx
cmp dword [ebp + 0x14], 0
mov dword [esp + 0x18], esi
jne 0x40779a
cmp dword [ebp + 0x10], 0
jne 0x482507
mov ebx, dword [ebp + 0x38]
mov eax, ebx
neg eax
sbb eax, eax
lea ecx, [esp + 0xc]
and eax, ecx
push eax
push edi
push dword [ebp + 0x1c]
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x3c]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x58]
push eax
push dword [ebp + 0xc]
lea eax, [esp + 0x44]
push eax
lea edx, [esp + 0x40]
lea ecx, [esp + 0x68]
call fcn.004077b0
add esp, 0x28
test eax, eax
add byte [ebx - 0x3f7ad73c], al
je 0x48258a
mov eax, dword [esp + 0x34]
cmp dword [edi + 0x40], eax
ja 0x4076ba
mov esi, dword [esp + 0x18]
test ebx, ebx
jne 0x4075b9
mov eax, dword [esp + 0x14]
push 0x77
pop ecx
cmp word [eax], cx
je 0x4076f1
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x30], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ecx
cmp dword [ebp + 0x10], 0
jne 0x482529
mov ebx, dword [esp + 0x20]
push 0x7c
pop edx
cmp word [ebx], dx
je 0x4076c6
cmp dword [ebp + 0x38], 0
jne 0x4075f1
mov edi, dword [esp + 0x14]
mov edx, esi
sub edx, edi
sar edx, 1
movzx ecx, word [edi + 2]
mov eax, ecx
neg eax
mov word [edi + 2], dx
mov edx, ecx
lea edi, [edi + eax*2]
test ecx, ecx
jg 0x4075d9
mov edi, dword [ebp + 0x34]
mov ecx, dword [esp + 0x4c]
push 0x78
pop eax
mov word [esi], ax
push es
mov eax, esi
sub eax, ecx
sar eax, 1
mov word [esi + 2], ax
add esi, 4
cmp dword [esp + 0x48], 0
jg 0x40769a
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x50]
mov dword [eax], esi
mov eax, dword [ebp + 8]
mov dword [eax], ebx
mov eax, dword [ebp + 0x20]
mov ebx, dword [esp + 0x10]
mov dword [eax], edx
mov eax, dword [ebp + 0x24]
mov edx, dword [esp + 0x30]
mov dword [eax], edx
mov eax, dword [ebp + 0x28]
mov edx, dword [esp + 0x1c]
mov dword [eax], edx
mov eax, dword [ebp + 0x2c]
mov dword [eax], ebx
mov ebx, dword [ebp + 0x38]
test ebx, ebx
je 0x407669
mov edx, dword [ebx]
mov eax, 0x7fffffeb
sub eax, edx
cmp eax, ecx
jl 0x4825e3
add ecx, edx
mov dword [ebx], ecx
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ebx, word [esi + 4]
mov eax, dword [edi + 0x24]
mov dword [esp + 0x60], eax
xor eax, eax
mov word [esp + 0x66], ax
lea eax, [esp + 0x60]
mov dword [esp + 0x48], ebx
mov word [esp + 0x64], bx
mov dword [edi + 0x24], eax
jmp 0x4074de
mov eax, dword [edi + 0x24]
xor edx, edx
cmp word [eax + 6], dx
jne 0x48259a
mov ecx, dword [esp + 0xc]
mov eax, dword [edi + 0x24]
mov eax, dword [eax]
mov dword [edi + 0x24], eax
jmp 0x407617
mov eax, dword [edi + 0x40]
mov dword [esp + 0x34], eax
jmp 0x407577
cmp dword [ebp + 0x38], 0
mov ecx, dword [esp + 0xc]
je 0x407734
mov eax, dword [esp + 0x50]
mov esi, dword [eax]
add esi, dword [esp + 0x54]
add ecx, 2
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x58]
add ebx, 2
mov dword [esp + 0x20], ebx
jmp 0x407505
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
test ecx, ecx
jns 0x407753
test eax, eax
js 0x407761
mov ecx, dword [esp + 0x24]
test ecx, ecx
jns 0x407765
mov ecx, eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x24], ecx
mov ebx, dword [esp + 0x10]
mov eax, ecx
xor eax, ebx
test eax, 0xfffffffd
je 0x407788
or dword [esp + 0x10], 0xffffffff
mov eax, dword [esp + 0x14]
jmp 0x4075af
push 0x77
pop eax
mov word [esi], ax
mov eax, esi
sub eax, dword [esp + 0x14]
mov dword [esp + 0x14], esi
sar eax, 1
mov word [esi + 2], ax
mov dword [esp + 0x6c], esi
add esi, 4
jmp 0x4076e1
cmp dword [esp + 0x2c], edx
jne 0x40776b
cmp ecx, eax
jne 0x40776b
test ecx, ecx
js 0x407701
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
jmp 0x407717
mov ebx, dword [esp + 0x10]
test ebx, ebx
jns 0x40777f
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x10], ecx
or ecx, 0xffffffff
mov dword [esp + 0x30], ecx
jmp 0x40775d
cmp dword [esp + 0x1c], edx
jne 0x407726
or ebx, ecx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x10], ebx
jmp 0x40772b
mov dword [edi + 0x40], eax
jmp 0x407513
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add dword [edi], eax
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add al, byte [edi]
pop es
add eax, dword [edi]
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
pop es
add al, 7
pop es
pop es
pop es
pop es
add eax, 0x7070707
push es
mov word [esi], dx
add esi, 2
xor eax, eax
mov dword [esp + 0x44], esi
mov word [esi], ax
add esi, 2
add ecx, 2
mov dword [esp + 0x18], esi
mov dword [esp + 0xc], ecx
jmp 0x40755e
std
jne 0x482595
mov dword [edi + 0x74], ebx
jmp 0x4075fa
test ecx, ecx
js 0x4825ad
cmp ecx, dword [edi + 0x48]
dec edi
dec eax
jle 0x4825a1
mov dword [edi + 0x48], ecx
mov eax, dword [esp + 0x44]
mov word [eax], cx
jmp 0x4075fa
cmp ecx, 0xfffffffe
jne 0x4825b7
push 0x24
pop eax
jmp 0x4825c6
xor eax, eax
cmp ecx, 0xfffffffc
setne al
dec eax
and eax, 0x2d
add eax, 0x19
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0x20]
mov dword [ecx], eax
xor eax, eax
jmp 0x4076ad
push ecx
lea eax, [ecx + 4]
push eax
call fcn.00425fc1
mov ecx, dword [esp + 0x58]
inc ecx
clc
invalid
or edx, ebx
jmp 0x482c48
push edi
mov ecx, esi
call fcn.00406ccb
pop ecx
pop ecx
test ebp, esp
je 0x406d86
mov ecx, dword [ebp - 4]
push 0x77
movzx eax, word [ecx + 2]
lea ecx, [ecx + eax*2]
pop eax
mov dword [ebp - 4], ecx
cmp word [ecx], ax
je 0x406cda
xor eax, eax
inc eax
jmp 0x406d88
cmp word [edi + esi*2 + 2], 0x2a
jne 0x482f37
lea edi, [edi + esi*2]
add edi, 4
push 6
mov edx, 0x4b4cd0
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482cbb
add esi, 8
jmp 0x482cb0
add esi, 6
or ebx, 0xd1000800
jmp 0x482f1c
push 4
mov edx, 0x4b4cd8
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
je 0x482cad
push 4
mov edx, 0x4b4ce0
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482cef
add esi, 6
or ebx, 0x20000000
jmp 0x482f1c
push 0x10
mov edx, 0x4b4ce8
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482d10
add esi, 0x12
or ebx, 0x20000
jmp 0xb7572f1c
push 0xd
mov edx, 0x4b4cfc
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482d31
add esi, 0xf
or ebx, 0x4000000
jmp 0x4482f1c
push 0xc
mov edx, 0x4b4d0c
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482dbd
mov ecx, dword [ebp - 0x10]
lea edi, [esi + 0xe]
mov dword [ebp - 0xc], eax
movzx eax, word [ecx + edi*2]
push eax
call fcn.00421d66
pop ecx
test eax, eax
je 0x482d8f
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
cmp ebx, 0x19999998
ja 0x482d86
movzx eax, word [esi + edi*2]
imul ebx, ebx, 0xa
add eax, 0xffffffd0
add ebx, eax
inc edi
movzx eax, word [esi + edi*2]
push eax
call fcn.00421d66
pop ecx
test eax, eax
jne 0x482d62
mov esi, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
push 0x29
mov ax, word [eax + edi*2]
pop ecx
cmp ax, cx
jne 0x482f34
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x28]
jae 0x4cf040
or dword [ebp - 0x6c], 0x42000
mov dword [ebp - 0x28], eax
jmp 0x4cf040
push 0x10
mov edx, 0x4b4d1c
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482e48
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 0x10]
lea edi, [esi + 0x12]
movzx eax, word [eax + edi*2]
push eax
call fcn.00421d66
pop ecx
test eax, eax
je 0x482e1b
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
cmp ebx, 0x19999998
ja 0x482e12
movzx eax, word [esi + edi*2]
imul ebx, ebx, 0xa
add eax, 0xffffffd0
add ebx, eax
inc edi
movzx eax, word [esi + edi*2]
push eax
call fcn.00421d66
pop ecx
test eax, eax
jne 0x482dee
mov esi, dword [ebp - 4]
mov dword [ebp - 0xc], ebx
mov ebx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
push 0x29
mov ax, word [eax + edi*2]
pop ecx
cmp ax, cx
jne 0x482f34
mov eax, dword [ebp - 0xc]
cmp eax, dword [ebp - 0x20]
jae 0x482e40
or dword [ebp - 0x6c], 0x44000
mov dword [ebp - 0x20], eax
lea esi, [edi + 1]
jmp 0x4c2f1f
push 3
mov edx, 0x4b4d30
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482e65
add esi, 5
mov eax, 0x100048
jmp 0x482ed7
push 3
mov edx, 0x4b4d34
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482e82
add esi, 5
mov eax, 0x200048
jmp 0x482ed7
push 5
mov edx, 0x4b4d38
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482e9f
add esi, 7
mov eax, 0x300048
jmp 0x482ed7
push 4
mov edx, 0x4b4d40
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482ebc
add esi, 6
mov eax, 0x400048
jmp 0x482ed7
push 8
mov edx, 0x4b4d48
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482edf
add esi, 0xa
mov eax, 0x500048
and ebx, 0xff8fffff
jmp 0x482f1a
push 0xc
mov edx, 0x4b4d54
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482ef9
mov eax, 0x800048
jmp 0x482f11
push 0xc
mov edx, 0x4b4d64
mov ecx, edi
call fcn.00408934
pop ecx
test eax, eax
jne 0x482f34
mov eax, 0x10004c2
add esi, 0xe
and ebx, 0xfe7fffff
or ebx, eax
mov dword [ebp - 0x14], ebx
mov edi, dword [ebp - 0x10]
push 0x28
pop eax
mov dword [ebp - 4], esi
cmp word [edi + esi*2], ax
je 0x482c83
jmp 0x482f37
mov edi, dword [ebp - 0x10]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
jmp 0x406fe9
push 0xa
jmp 0x482fa2
pop ecx
xor eax, eax
mov dword [ebp - 0x54], eax
cmp ecx, 0x7401ff
jle 0x482fcd
mov eax, ecx
sar eax, 8
and eax, 0x7401ff
mov word [ebp - 0x4c], ax
movzx eax, cl
mov dword [ebp - 0x50], edx
mov word [ebp - 0x4a], ax
jmp 0x407036
mov dword [ebp - 0x50], 0x40001
mov word [ebp - 0x4c], cx
jmp 0x407036
push dword [esi + 4]
mov edx, dword [esi - 4]
push dword [esi]
lea ecx, [ebp - 0xd0]
call fcn.004706ef
dec edi
pop ecx
pop ecx
lea esi, [esi + 0xc]
test edi, edi
salc
invalid
jg 0x483004
mov edi, dword [ebp - 0x20]
xor esi, esi
cmp dword [ebp - 0x98], 0x14
jle 0x40722f
invalid
push dword [ebp - 0xa8]
call dword [0x4bb80c]
pop ecx
jmp 0x40722f
cmp eax, ecx
jbe 0x4072fa
sub eax, 2
mov dword [ebp - 0xb0], eax
movzx eax, word [eax]
mov dword [ebp - 0x2c], eax
movzx eax, word [edi + eax*2]
cmp eax, dword [ebp - 0x1c]
je 0x4830b5
mov edx, dword [ebp - 4]
push eax
mov ecx, edi
call fcn.00470540
pop ecx
mov ecx, dword [ebp - 0x2c]
mov edx, eax
movzx eax, word [edi + ecx*2]
sahf
aam 0xfe
call [ecx - 0x75]
dec ebp
aam 0x8b
ror byte [edi], 1
mov bh, 4
dec edi
mov ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x1c], eax
test edx, edx
je 0x4830d4
sal byte [ebx + ebx - 0x75], cl
inc ebp
aam 0x8b
retf 0xcf2b
mov eax, dword [ebp - 0x2c]
mov ecx, edx
sub ecx, edi
sar ecx, 1
mov word [edi + eax*2], cx
mov eax, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0xc0]
jmp 0x483077
push 0x35
pop esi
mov dword [ebp - 8], esi
jmp 0x4072fa
xor ecx, ecx
cmp word [eax + 2], cx
jne 0x483162
movzx edi, word [eax - 2]
movzx esi, word [eax + edi*2 - 4]
mov word [eax + edi*2 - 4], cx
mov edx, dword [ebx + 8]
lea ecx, [ebp - 0xd0]
push ecx
shr edx, 0xb
and edx, 1
push 1
mov ecx, eax
call fcn.00470b72
pop ecx
pop ecx
mov ecx, eax
mov eax, dword [ebp - 0x1c]
mov word [eax + edi*2 - 4], si
je 0x4831c0
cld
test ecx, ecx
js 0x48317b
cmp ecx, dword [ebp - 0x88]
jle 0x48315b
lea edi, [eax - 1]
invalid
mov dword [ebp - 0x88], ecx
mov esi, dword [ebp - 4]
mov word [eax + 2], cx
push 0xffffffffffffffff
lea ecx, [eax + 4]
mov edx, esi
call fcn.00470540
pop ecx
mov dword [ebp - 0x1c], eax
test ebp, esp
jne 0x48310e
mov esi, dword [ebp - 8]
jmp 0x4831b5
cmp ecx, 0xfffffffe
jne 0x4831ad
stc
invalid
push 0x24
jmp 0x483186
push 0x46
pop esi
push ebx
call dword [0x4bb80c]
pop ecx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x10]
sar eax, 1
or al, 0xb8
dec ebx
add byte [ecx - 0x75], bl
inc ebp
fsubr qword [ebx]
inc ebp
invalid
dec ebp
adc cl, dl
clc
mov dword [ecx], eax
mov ecx, esi
call fcn.00470b52
mov ecx, dword [ebp + 0xc]
mov dword [ecx], eax
jmp 0x4074ae
cmp ecx, 0xfffffffc
je 0x483184
push 0x19
pop esi
mov edi, dword [ebp - 0x20]
jmp 0x40734e
or eax, 0x10
mov dword [ebx + 8], eax
jmp 0x4073bc
dec edx
add byte [ebx], al
invalid
retf
jnp 0x4cef77
jne 0x4cefff
test ch, bh
mov al, byte [0x572c70ec]
jo 0x4cefcb
push edi
push edi
outsb dx, byte [esi]
mov al, 1
cdq
fisttp word [edi]
jnp 0x4cefd4
xchg ebx, eax
neg dword [edx + 0x43c63b57]
jl 0x4cef95
jecxz 0x4ceff9
mov cl, 0x32
add dword [ecx + ebx*8], esi
jno 0x4cf025
outsb dx, byte [esi]
dec eax
retf
lahf
pop edx
leave
push edi
push 0x1729dbe6
and eax, 0xe024cb25
jno 0x4cef9f
push cs
sahf
fadd dword [ebp - 0x41ad5dfc]
sub ebp, ecx
scasb al, byte es:[edi]
aad 0x26
out dx, al
aaa
pop fs
ror dh, cl
dec ebx
push esp
mov ecx, 0x57e9eec0
push edi
ljmp 0x9cf7:0x46f962f4
xchg ecx, eax
adc dword [ecx + 0x13], 0x67fc258c
xor dl, byte [ebp - 7]
lodsd eax, dword [esi]
add eax, 0x4388e69a
fmulp st(6)
hlt
scasb al, byte es:[edi]
xchg ecx, eax
jl 0x4cefdd
xchg edi, eax
retf 0xbed6