Function at 0x489d50
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x4cc7b9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x184c
call fcn.004c6f60
mov eax, dword [ebp + 8]
mov al, byte [eax + 2]
push ebx
mov ecx, 6
cmp cl, al
push esi
push edi
sbb edi, edi
and edi, dword [0x4f0b28]
mov dl, 5
cmp dl, al
sbb ecx, ecx
and ecx, dword [0x4f0b24]
mov dl, 7
cmp dl, al
sbb eax, eax
and eax, dword [0x4f0b2c]
mov dword [esp + 0x50], ecx
mov ecx, dword [0x4f0b10]
xor esi, esi
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x108], eax
cmp edi, esi
je 0x489dce
test byte [edi + 0x15], 2
je 0x489dce
mov bl, 1
jmp 0x489dd0
xor bl, bl
push 0x800
push esi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xcc], 0x400
call fcn.004bb6d7
add esp, 8
cmp eax, esi
jne 0x489e0d
push esi
call fcn.004ba14c
add esp, 4
mov dword [esp + 0xc8], esi
mov dword [esp + 0xc4], esi
jmp 0x489e1e
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], esi
mov byte [eax], 0
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x1864], esi
mov byte [esp + 0x12], 0
mov byte [esp + 0x11], 0
mov dword [esp + 0x3c], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0xf0], esi
mov dword [esp + 0x80], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x7c], 0xffffffff
mov dword [esp + 0x154], 0xffffff
mov byte [esp + 0x18], 0
mov byte [esp + 0x19], 0
mov byte [esp + 0x37], 1
mov byte [esp + 0x1f], 0
cmp eax, esi
jne 0x489e86
cmp dword [ebp + 0xc], esi
jne 0x489e86
mov dword [esp + 0x58], esi
jmp 0x489e8e
sub eax, dword [ebp + 0xc]
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [ebp + 0x18]
cmp eax, esi
jne 0x489ea0
cmp dword [ebp + 0x10], esi
jne 0x489ea0
mov dword [esp + 0x60], esi
jmp 0x489ea8
sub eax, dword [ebp + 0x10]
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x160], esi
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1e], 1
mov byte [esp + 0x39], 0
mov byte [esp + 0x56], 0
mov byte [esp + 0x1b], 0
mov byte [esp + 0x36], 1
mov dword [esp + 0x84], esi
mov dword [esp + 0x150], esi
mov dword [esp + 0x158], esi
mov byte [esp + 0x6f], 0
mov byte [esp + 0x67], 0
mov byte [esp + 0x55], 0
mov dword [esp + 0x98], esi
mov byte [esp + 0x38], 0
mov dword [esp + 0x110], esi
mov byte [esp + 0x1c], 0
mov dword [esp + 0x9c], esi
mov dword [esp + 0x11c], esi
mov dword [esp + 0x118], esi
mov dword [esp + 0x114], esi
mov byte [esp + 0x1a], 0
mov dword [esp + 0x88], esi
mov dword [esp + 0x14c], esi
mov dword [esp + 0x148], esi
mov dword [esp + 0x144], esi
xor eax, eax
mov byte [esp + 0x3b], 0
mov byte [esp + 0x3a], 0
mov dword [esp + 0xa0], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x5c], esi
mov byte [esp + 0x27], 0
mov byte [esp + 0x57], 0
mov byte [esp + 0x90], 0
mov byte [esp + 0x8c], 0
mov byte [esp + 0x190], 0
mov byte [esp + 0x1a0], 0
mov byte [esp + 0x1a8], 0
mov byte [esp + 0x198], 0
mov dword [esp + 0x1a4], esi
mov dword [esp + 0x1ac], esi
mov dword [esp + 0x19c], esi
mov dword [esp + 0x194], esi
mov dword [esp + 0x1b0], esi
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x140], esi
mov dword [esp + 0x13c], esi
mov dword [esp + 0x138], esi
mov dword [esp + 0x188], esi
mov dword [esp + 0x184], esi
mov dword [esp + 0x180], esi
mov dword [esp + 0x16c], esi
mov dword [esp + 0x168], esi
mov dword [esp + 0x164], esi
mov byte [esp + 0x1864], 5
test bl, bl
je 0x48ae78
push str._8_._
call fcn.0049be50
xor edx, edx
add esp, 4
mov dword [esp + 0xa4], eax
mov dword [esp + 0x74], edx
cmp byte [edi + 0x17], dl
jne 0x48a04f
mov edi, dword [edi + 0xc]
mov esi, dword [edi]
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x18c], esi
cmp ecx, edx
jle 0x48a0a0
mov edi, dword [esi + 0xc]
add ecx, ecx
cmp dword [edi + ecx*8 - 8], edx
je 0x48a0a0
mov dword [esp + 0x360], eax
lea eax, [esp + 0x360]
push eax
lea ecx, [esp + 0x224]
push ecx
mov ecx, esi
mov dword [esp + 0x370], 5
mov dword [esp + 0x36c], edx
call fcn.0041aa90
test al, al
je 0x48a0dc
mov edi, edi
lea eax, [esp + 0x74]
lea edx, [esp + 0x3c0]
push eax
mov ebx, 1
mov dword [esp + 0x78], edx
mov dword [esp + 0x3cc], 6
mov dword [esp + 0x3c4], esi
call fcn.004963d0
mov esi, eax
add esp, 4
mov dword [esp + 0x18c], eax
mov dword [esp + 0x74], esi
mov eax, dword [esi + 0x18]
test eax, eax
jle 0x48a0ee
mov ecx, dword [esi + 0xc]
add eax, eax
mov eax, dword [ecx + eax*8 - 8]
jmp 0x48a0f0
xor eax, eax
mov dword [esp + 0x15c], eax
mov dword [esp + 0x94], 1
cmp eax, 1
jl 0x48ab3a
jmp 0x48a110
cmp byte [esp + 0x11], 0
jne 0x48ab3a
mov eax, dword [esp + 0x94]
push 0xa
lea edx, [esp + 0x27c]
push edx
push eax
call fcn.004b9d8d
add esp, 0xc
lea ecx, [esp + 0x320]
push ecx
mov ecx, dword [esp + 0x190]
lea edx, [esp + 0x224]
push edx
mov dword [esp + 0x330], 5
mov dword [esp + 0x328], eax
mov dword [esp + 0x32c], 0
call fcn.0041aa90
test al, al
je 0x48ab1e
cmp dword [esp + 0x228], 6
jne 0x48ae22
mov ecx, dword [esp + 0x220]
mov dword [esp + 0x20], ecx
test ecx, ecx
je 0x48ab19
mov eax, dword [esp + 0xa4]
lea edx, [esp + 0x3a0]
mov dword [esp + 0x3a0], eax
push edx
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0x3b0], 5
mov dword [esp + 0x3ac], 0
call fcn.0041aa90
test al, al
je 0x48ae22
mov edi, dword [esp + 0x40]
test edi, edi
je 0x48ae22
push 0x4e43b8
call fcn.0049be50
add esp, 4
push eax
push edi
call fcn.004ba135
add esp, 8
test eax, eax
je 0x48a24e
cmp byte [edi], 0x2a
jne 0x48a239
push 0x4e43b8
call fcn.0049be50
add esp, 4
lea ecx, [edi + 1]
push eax
push ecx
call fcn.004ba135
add esp, 8
test eax, eax
je 0x48a24e
cmp byte [edi], 0x2a
jne 0x48a239
push 1
push 0
push 0x4d9a0c
lea esi, [esp + 0xd0]
jmp 0x48ae5d
push 1
push 0
push 0x4e456c
lea esi, [esp + 0xd0]
jmp 0x48ae5d
cmp dword [esp + 0x30], 0
mov byte [esp + 0x27], 1
jne 0x48a277
push 0x10
call fcn.004bbddb
add esp, 4
test eax, eax
je 0x48a271
mov esi, eax
call fcn.00414780
jmp 0x48a273
xor eax, eax
mov dword [esp + 0x30], eax
push 0x4e4190
call fcn.0049be50
mov ebx, dword [esp + 0x24]
add esp, 4
push ebx
lea esi, [esp + 0x44]
lea edi, [esp + 0x80]
call fcn.0048ffe0
add esp, 4
test al, al
je 0x48a2a8
and dword [esp + 0x7c], 0xffffff
push 0
push 0x4e43cc
call fcn.0049be50
lea ecx, [esp + 0x98]
add esp, 4
push ecx
mov edx, eax
lea esi, [esp + 0x48]
mov edi, ebx
call fcn.0048ff20
add esp, 8
push 0
push str._a_
call fcn.0049be50
lea edx, [esp + 0x94]
add esp, 4
push edx
mov edx, eax
call fcn.0048ff20
add esp, 8
push 0
push 0x4e43f8
call fcn.0049be50
lea ecx, [esp + 0x198]
add esp, 4
push ecx
mov edx, eax
call fcn.0048ff20
add esp, 8
push 0
push 0x4e440c
call fcn.0049be50
lea edx, [esp + 0x1a8]
add esp, 4
push edx
mov edx, eax
call fcn.0048ff20
add esp, 8
push 0
push 0x4e4420
call fcn.0049be50
lea ecx, [esp + 0x1b0]
add esp, 4
push ecx
mov edx, eax
call fcn.0048ff20
push 0x4e4438
call fcn.0049be50
add esp, 0xc
push ebx
lea edi, [esp + 0x1a8]
call fcn.0048fec0
add esp, 4
push 0x4e444c
call fcn.0049be50
add esp, 4
push ebx
lea edi, [esp + 0x1b0]
call fcn.0048fec0
add esp, 4
push 0x4e4460
call fcn.0049be50
add esp, 4
lea edx, [esp + 0xe0]
mov dword [esp + 0xe0], eax
push edx
mov eax, esi
push eax
mov ecx, ebx
mov dword [esp + 0xf0], 5
mov dword [esp + 0xec], 0
call fcn.0041aa90
test al, al
je 0x48a3e5
lea ecx, [esp + 0x1c0]
push ecx
lea edx, [esp + 0x1b4]
xor ecx, ecx
mov eax, esi
call fcn.0048d4a0
add esp, 4
push 0x4e4474
call fcn.0049be50
add esp, 4
lea edx, [esp + 0x340]
mov dword [esp + 0x340], eax
push edx
lea eax, [esp + 0x44]
push eax
mov ecx, ebx
mov dword [esp + 0x350], 5
mov dword [esp + 0x34c], 0
call fcn.0041aa90
test al, al
je 0x48a444
lea ecx, [esp + 0x1c1]
push ecx
lea edx, [esp + 0x1bc]
xor ecx, ecx
lea eax, [esp + 0x44]
call fcn.0048d4a0
add esp, 4
push 0x4e4488
call fcn.0049be50
add esp, 4
push eax
push 0x4e44a4
call fcn.0049be50
lea edx, [esp + 0x1ca]
add esp, 4
push edx
mov edx, eax
lea esi, [esp + 0x48]
mov edi, ebx
call fcn.0048ff20
add esp, 8
push 0
push 0x4e44c0
call fcn.0049be50
lea ecx, [esp + 0x1a0]
add esp, 4
push ecx
mov edx, eax
call fcn.0048ff20
push 0x4e44d8
call fcn.0049be50
add esp, 0xc
push ebx
lea edi, [esp + 0x198]
call fcn.0048fec0
add esp, 4
push 0x4e44ec
call fcn.0049be50
add esp, 4
push ebx
lea edi, [esp + 0x1a0]
call fcn.0048fec0
add esp, 4
push str._a___v_
call fcn.0049be50
add esp, 4
lea edx, [esp + 0x370]
mov dword [esp + 0x370], eax
push edx
mov eax, esi
push eax
mov ecx, ebx
mov dword [esp + 0x380], 5
mov dword [esp + 0x37c], 0
call fcn.0041aa90
test al, al
je 0x48a551
cmp dword [esp + 0x48], 5
jne 0x48a52b
lea ecx, [esp + 0x13]
push ecx
mov ecx, dword [esp + 0x44]
call fcn.0048fd70
add esp, 4
test al, al
je 0x48a541
cmp dword [esp + 0x48], 1
jne 0x48a546
mov edx, dword [esp + 0x40]
or edx, dword [esp + 0x44]
mov byte [esp + 0x13], 1
jne 0x48a546
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x30]
mov cl, byte [esp + 0x13]
mov byte [eax + 0xc], cl
push 0x4e451c
call fcn.0049be50
add esp, 4
lea edx, [esp + 0x390]
mov dword [esp + 0x390], eax
push edx
lea eax, [esp + 0x44]
mov esi, 5
xor edi, edi
push eax
mov ecx, ebx
mov dword [esp + 0x3a0], esi
mov dword [esp + 0x39c], edi
call fcn.0041aa90
test al, al
je 0x48a650
mov eax, dword [esp + 0x48]
mov byte [esp + 0x57], 1
cmp eax, esi
jne 0x48a5b6
mov ecx, dword [esp + 0x40]
push ecx
lea eax, [esp + 0x13c]
call fcn.00413c90
jmp 0x48a5d3
cmp eax, 1
jne 0x48a5ce
mov edx, dword [esp + 0x40]
push edx
lea eax, [esp + 0x13c]
call fcn.00413b50
jmp 0x48a5d3
mov byte [esp + 0x11], 1
lea eax, [esp + 0x138]
call fcn.004146f0
test eax, eax
jne 0x48a5ea
mov eax, dword [esp + 0x30]
push eax
jmp 0x48a655
push str.6_3
call fcn.0049be50
add esp, 4
lea ecx, [esp + 0x3b0]
push ecx
lea edx, [esp + 0x44]
push edx
mov ecx, ebx
mov dword [esp + 0x3c0], esi
mov dword [esp + 0x3b8], eax
mov dword [esp + 0x3bc], edi
call fcn.0041aa90
test al, al
je 0x48a65a
cmp dword [esp + 0x48], esi
jne 0x48a65a
push str.4_799
call fcn.0049be50
add esp, 4
push eax
mov eax, dword [esp + 0x44]
push eax
call fcn.004ba135
add esp, 8
test eax, eax
jne 0x48a65a
mov ecx, dword [esp + 0x30]
push ecx
jmp 0x48a655
mov edx, dword [esp + 0x30]
push edx
call fcn.00414a40
push str.6_3
call fcn.0049be50
add esp, 4
mov dword [esp + 0x300], eax
lea eax, [esp + 0x300]
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, ebx
mov dword [esp + 0x310], esi
mov dword [esp + 0x30c], edi
call fcn.0041aa90
test al, al
je 0x48a6a3
cmp dword [esp + 0x48], 6
jne 0x48a6a3
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x20], ebx
push str.___.
call fcn.0049be50
add esp, 4
lea edx, [esp + 0x350]
mov dword [esp + 0x350], eax
push edx
lea eax, [esp + 0x44]
push eax
mov ecx, ebx
mov dword [esp + 0x360], esi
mov dword [esp + 0x35c], edi
call fcn.0041aa90
test al, al
je 0x48a810
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x48a709
mov eax, dword [esp + 0x40]
cmp byte [eax], 0
je 0x48a810
mov esi, eax
mov al, byte [esi]
cmp al, 0x20
je 0x48a706
cmp al, 9
jne 0x48a893
inc esi
jmp 0x48a6f8
cmp eax, 6
jne 0x48a8ee
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
cmp ecx, edi
je 0x48a8ee
call fcn.00455d60
cmp eax, 0xa
jne 0x48a8ee
mov esi, dword [esp + 0x30]
mov dword [esp + 0x78], edi
jmp 0x48a740
push 0xa
lea ecx, [esp + 0x27c]
push ecx
lea ebx, [edi + 1]
push ebx
call fcn.004b9d8d
mov ecx, dword [esp + 0x20]
add esp, 0xc
lea edx, [esp + 0x2e0]
mov dword [esp + 0x2e0], eax
push edx
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0x2f0], 5
mov dword [esp + 0x2ec], 0
call fcn.0041aa90
test al, al
je 0x48a7fc
mov eax, dword [esp + 0x48]
cmp eax, 5
je 0x48a7ae
cmp eax, 1
je 0x48a7d2
cmp eax, 2
jne 0x48a889
cmp eax, eax
jne 0x48a7d8
fld qword [esp + 0x40]
jmp 0x48a7da
mov esi, dword [esp + 0x40]
call fcn.0041a410
mov esi, dword [esp + 0x30]
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], edx
fild qword [esp + 0x170]
jmp 0x48a7da
fild qword [esp + 0x40]
jmp 0x48a7da
fldz
call fcn.004c9200
cmp byte [esi + 0xd], 0
je 0x48a889
cmp edi, 9
ja 0x48a889
mov ecx, dword [esi + 4]
mov edx, dword [esp + 0x78]
mov dword [edx + ecx], eax
add dword [esp + 0x78], 4
mov edi, ebx
cmp edi, 0xa
jl 0x48a740
mov ebx, dword [esp + 0x20]
push 0x4e454c
call fcn.0049be50
add esp, 4
lea edx, [esp + 0x200]
mov dword [esp + 0x200], eax
push edx
lea eax, [esp + 0x44]
push eax
mov ecx, ebx
mov dword [esp + 0x210], 5
mov dword [esp + 0x20c], 0
call fcn.0041aa90
test al, al
je 0x48aa1c
mov eax, dword [esp + 0x48]
cmp eax, 5
jne 0x48a8f8
mov eax, dword [esp + 0x40]
cmp byte [eax], 0
je 0x48aa1c
mov edi, dword [esp + 0x30]
xor ebx, ebx
mov esi, eax
mov al, byte [esi]
cmp al, 0x20
je 0x48a886
cmp al, 9
jne 0x48a9da
inc esi
jmp 0x48a878
mov byte [esp + 0x11], 1
jmp 0x48a80c
cmp byte [esi], 0x2c
je 0x48a8ee
call fcn.0041a410
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 0xd], 0
je 0x48a8b8
cmp edi, 9
ja 0x48a8b8
mov edx, ecx
mov ecx, dword [edx + 4]
mov dword [ecx + edi*4], eax
mov al, 1
jmp 0x48a8ba
xor al, al
inc edi
test al, al
je 0x48a8ee
inc esi
push 0x2c
push esi
call fcn.004bb121
add esp, 8
test eax, eax
je 0x48a8e5
inc eax
je 0x48a8e5
cmp edi, 0xa
jl 0x48a6f6
mov byte [esp + 0x11], 1
jmp 0x48a810
cmp edi, 0xa
jge 0x48a810
mov byte [esp + 0x11], 1
jmp 0x48a810
cmp eax, 6
jne 0x48aa17
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x48aa17
call fcn.00455d60
cmp eax, 0x50
jne 0x48aa17
xor edi, edi
push 0xa
lea ecx, [esp + 0x27c]
push ecx
lea ebx, [edi + 1]
push ebx
call fcn.004b9d8d
mov ecx, dword [esp + 0x20]
add esp, 0xc
lea edx, [esp + 0x260]
mov dword [esp + 0x260], eax
push edx
lea eax, [esp + 0x44]
push eax
mov dword [esp + 0x270], 5
mov dword [esp + 0x26c], 0
call fcn.0041aa90
test al, al
je 0x48a9cd
mov eax, dword [esp + 0x48]
cmp eax, 5
je 0x48a98f
cmp eax, 1
je 0x48a9af
cmp eax, 2
jne 0x48aa17
cmp eax, eax
jne 0x48a9b5
fld qword [esp + 0x40]
jmp 0x48a9b7
mov esi, dword [esp + 0x40]
call fcn.0041a410
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
fild qword [esp + 0xf8]
jmp 0x48a9b7
fild qword [esp + 0x40]
jmp 0x48a9b7
fldz
call fcn.004c9200
mov ecx, dword [esp + 0x30]
mov edx, eax
mov eax, edi
call fcn.00414820
test al, al
je 0x48aa17
mov edi, ebx
cmp edi, 0x50
jl 0x48a921
jmp 0x48aa1c
cmp byte [esi], 0x2c
je 0x48aa17
call fcn.0041a410
mov edx, eax
mov eax, ebx
mov ecx, edi
call fcn.00414820
inc ebx
test al, al
je 0x48aa17
inc esi
push 0x2c
push esi
call fcn.004bb121
add esp, 8
test eax, eax
je 0x48aa12
inc eax
je 0x48aa12
cmp ebx, 0x50
jl 0x48a876
jmp 0x48aa17
cmp ebx, 0x50
jge 0x48aa1c
mov byte [esp + 0x11], 1
push 0x4e455c
call fcn.0049be50
mov esi, dword [esp + 0x24]
add esp, 4
lea ecx, [esp + 0x120]
push ecx
lea edx, [esp + 0x44]
mov ebx, 5
xor edi, edi
push edx
mov ecx, esi
mov dword [esp + 0x130], ebx
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], edi
call fcn.0041aa90
test al, al
je 0x48aa70
cmp dword [esp + 0x48], 6
jne 0x48aa70
mov esi, dword [esp + 0x40]
mov dword [esp + 0x20], esi
push 0x4e455c
call fcn.0049be50
add esp, 4
mov dword [esp + 0x380], eax
lea eax, [esp + 0x380]
push eax
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
mov dword [esp + 0x390], ebx
mov dword [esp + 0x38c], edi
call fcn.0041aa90
test al, al
je 0x48ab64
cmp dword [esp + 0x48], ebx
jne 0x48ab64
mov eax, dword [esp + 0x40]
cmp byte [eax], 0
je 0x48ab1e
xor ebx, ebx
mov esi, eax
mov al, byte [esi]
cmp al, 0x20
je 0x48aacf
cmp al, 9
jne 0x48aad2
inc esi
jmp 0x48aac5
cmp byte [esi], 0x2c
je 0x48ab19
call fcn.0041a410
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 0xd], 0
je 0x48aaf7
cmp ebx, 0xf9
ja 0x48aaf7
mov edx, dword [ecx]
mov dword [edx + ebx*4], eax
mov al, 1
jmp 0x48aaf9
xor al, al
inc ebx
test al, al
je 0x48ab19
inc esi
push 0x2c
push esi
call fcn.004bb121
add esp, 8
cmp eax, edi
je 0x48ab5a
inc eax
je 0x48ab5a
cmp ebx, 0xfa
jl 0x48aac3
mov byte [esp + 0x11], 1
mov eax, dword [esp + 0x94]
inc eax
mov dword [esp + 0x94], eax
cmp eax, dword [esp + 0x15c]
jle 0x48a110
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0xc8]
test eax, eax
je 0x48ae80
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x48ae80
cmp ebx, 0xfa
jge 0x48ab1e
jmp 0x48ab19
mov ecx, esi
call fcn.00455d60
xor edi, edi
cmp eax, 0xfa
jne 0x48ac5c
mov dword [esp + 0x78], edi
lea esp, [esp]
push 0xa
lea eax, [esp + 0x27c]
push eax
lea ebx, [edi + 1]
push ebx
call fcn.004b9d8d
add esp, 0xc
lea ecx, [esp + 0x2f0]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x44]
push edx
mov dword [esp + 0x300], 5
mov dword [esp + 0x2f8], eax
mov dword [esp + 0x2fc], 0
call fcn.0041aa90
test al, al
je 0x48ab19
mov eax, dword [esp + 0x48]
cmp eax, 5
je 0x48abf2
cmp eax, 1
je 0x48ac12
cmp eax, 2
jne 0x48ab19
cmp eax, eax
jne 0x48ac18
fld qword [esp + 0x40]
jmp 0x48ac1a
mov esi, dword [esp + 0x40]
call fcn.0041a410
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], edx
fild qword [esp + 0xd0]
jmp 0x48ac1a
fild qword [esp + 0x40]
jmp 0x48ac1a
fldz
call fcn.004c9200
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 0xd], 0
je 0x48ab19
cmp edi, 0xf9
ja 0x48ab19
mov edx, dword [ecx]
mov ecx, dword [esp + 0x78]
mov dword [ecx + edx], eax
mov edi, ebx
add ecx, 4
mov dword [esp + 0x78], ecx
cmp edi, 0xfa
jl 0x48ab80
jmp 0x48ab1e
mov dword [esp + 0x78], edi
cmp byte [esp + 0x11], 0
jne 0x48ab1e
push 0xa
lea eax, [esp + 0x27c]
push eax
push edi
call fcn.004b9d8d
add esp, 0xc
lea ecx, [esp + 0x310]
push ecx
lea edx, [esp + 0x44]
push edx
mov ecx, esi
mov dword [esp + 0x320], ebx
mov dword [esp + 0x318], eax
mov dword [esp + 0x31c], 0
call fcn.0041aa90
test al, al
je 0x48ae02
mov eax, dword [esp + 0x48]
cmp eax, 6
jne 0x48ada8
mov ecx, dword [esp + 0x40]
xor edi, edi
mov dword [esp + 0x14], ecx
call fcn.00455d60
cmp eax, 0x19
jne 0x48ab19
jmp 0x48ace0
push 0xa
lea eax, [esp + 0x27c]
push eax
lea ebx, [edi + 1]
push ebx
call fcn.004b9d8d
add esp, 0xc
lea ecx, [esp + 0x330]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x44]
push edx
mov dword [esp + 0x340], 5
mov dword [esp + 0x338], eax
mov dword [esp + 0x33c], 0
call fcn.0041aa90
test al, al
je 0x48ad98
mov eax, dword [esp + 0x48]
cmp eax, 5
je 0x48ad4a
cmp eax, 1
je 0x48ad6a
cmp eax, 2
jne 0x48ad98
cmp eax, eax
jne 0x48ad70
fld qword [esp + 0x40]
jmp 0x48ad72
mov esi, dword [esp + 0x40]
call fcn.0041a410
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
fild qword [esp + 0xb0]
jmp 0x48ad72
fild qword [esp + 0x40]
jmp 0x48ad72
fldz
call fcn.004c9200
mov ecx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x7c]
mov edx, edi
call fcn.00414840
test al, al
je 0x48ad98
mov edi, ebx
cmp edi, 0x19
jl 0x48ace0
jmp 0x48ae02
mov byte [esp + 0x11], 1
cmp edi, 0x19
jl 0x48ab19
jmp 0x48ae02
cmp eax, ebx
jne 0x48ae02
mov eax, dword [esp + 0x40]
xor ebx, ebx
mov esi, eax
mov al, byte [esi]
cmp al, 0x20
je 0x48adbe
cmp al, 9
jne 0x48adc1
inc esi
jmp 0x48adb4
cmp byte [esi], 0x2c
je 0x48adfd
call fcn.0041a410
mov ecx, dword [esp + 0x30]
push eax
mov edx, ebx
mov eax, edi
call fcn.00414840
inc ebx
test al, al
je 0x48adfd
inc esi
push 0x2c
push esi
call fcn.004bb121
add esp, 8
test eax, eax
je 0x48adf8
inc eax
je 0x48adf8
cmp ebx, 0x19
jl 0x48adb2
jmp 0x48adfd
cmp ebx, 0x19
jge 0x48ae02
mov byte [esp + 0x11], 1
mov edi, dword [esp + 0x78]
inc edi
mov dword [esp + 0x78], edi
cmp edi, 0xa
jge 0x48ab1e
mov esi, dword [esp + 0x20]
mov ebx, 5
jmp 0x48ac60
cmp dword [esp + 0x228], 5
jne 0x48ab19
mov eax, dword [esp + 0x220]
mov edi, eax
test eax, eax
je 0x48ab19
cmp byte [eax], 0x2a
push 1
lea esi, [esp + 0xc8]
push 0
jne 0x48ae58
push 0x4d9a0c
jmp 0x48ae5d
push 0x4e456c
call fcn.00414160
push 1
push 0
push edi
lea esi, [esp + 0xd0]
call fcn.00414160
jmp 0x48ab1e
mov ebx, dword [ebp + 0x20]
jmp 0x48ae80
mov al, byte [ebx]
cmp al, 0x20
je 0x48ae8a
cmp al, 9
jne 0x48ae8d
inc ebx
jmp 0x48ae80
cmp byte [ebx], 0x2a
jne 0x48b81e
jmp 0x48aea4
mov ebx, dword [esp + 0x14]
push 0x4e4570
inc ebx
call fcn.0049be50
add esp, 4
push 0xa
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48aece
add ebx, 0xa
mov byte [esp + 0x1e], al
jmp 0x48b786
mov eax, dword [0x4f3de4]
mov esi, 2
push esi
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48aefc
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp + 0x18]
add ebx, esi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], edx
jmp 0x48b786
push 0x4e4584
call fcn.0049be50
add esp, 4
push 7
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48af4a
lea eax, [esp + 0x14]
add ebx, 7
push eax
lea esi, [esp + 0x158]
mov dword [esp + 0x18], ebx
call fcn.0048d2d0
mov ebx, dword [esp + 0x18]
add esp, 4
test al, al
jne 0x48b786
mov byte [esp + 0x11], 1
jmp 0x48b786
push 0x4e4594
call fcn.0049be50
add esp, 4
push 0xa
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48af74
add ebx, 0xa
mov byte [esp + 0x6f], 1
jmp 0x48b786
push 0x4e45a8
call fcn.0049be50
add esp, 4
push 0xc
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48afd0
add ebx, 0xc
push ebx
lea eax, [esp + 0x148]
mov byte [esp + 0x1e], 1
mov dword [esp + 0x8c], 1
call fcn.00413c90
test eax, eax
jne 0x48afba
mov byte [esp + 0x11], 1
mov eax, ebx
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48afc0
sub eax, edx
add ebx, eax
jmp 0x48b786
push 0x4e43b8
call fcn.0049be50
add esp, 4
push 9
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48affa
add ebx, 9
mov byte [esp + 0x27], 1
jmp 0x48b786
push 0x4e45c0
call fcn.0049be50
add esp, 4
push 0xb
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b02b
add ebx, 0xb
mov byte [esp + 0x1a], 1
mov dword [esp + 0x88], esi
jmp 0x48b786
push 0x4e45d4
call fcn.0049be50
add esp, 4
push 9
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b0d4
push 0x7ff
add ebx, 9
lea ecx, [esp + 0x85c]
push ebx
push ecx
mov byte [esp + 0x28], 1
mov dword [esp + 0xa8], 1
call fcn.004bd1c0
add esp, 0xc
mov edi, 0x4d9558
lea eax, [esp + 0x858]
mov byte [esp + 0x1057], 0
call fcn.004099e0
test eax, eax
je 0x48b095
mov byte [eax], 0
cmp byte [esp + 0x858], 0
jne 0x48b0a6
mov byte [esp + 0x11], 1
jmp 0x48b0ba
lea edx, [esp + 0x858]
push edx
lea eax, [esp + 0x118]
call fcn.00413c90
lea eax, [esp + 0x858]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48b0c4
sub eax, edx
add ebx, eax
jmp 0x48b786
push 0x4e45e8
call fcn.0049be50
add esp, 4
push 9
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b180
push 0x7ff
add ebx, 9
lea eax, [esp + 0x105c]
push ebx
push eax
mov byte [esp + 0x28], 1
mov dword [esp + 0xa8], esi
call fcn.004bd1c0
add esp, 0xc
mov edi, 0x4d9558
lea eax, [esp + 0x1058]
mov byte [esp + 0x1857], 0
call fcn.004099e0
test eax, eax
je 0x48b13a
mov byte [eax], 0
cmp byte [esp + 0x1058], 0
jne 0x48b14b
mov byte [esp + 0x11], 1
jmp 0x48b15f
lea ecx, [esp + 0x1058]
push ecx
lea eax, [esp + 0x118]
call fcn.00413c90
lea eax, [esp + 0x1058]
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48b170
sub eax, edx
add ebx, eax
jmp 0x48b786
push 0x4e41b4
call fcn.0049be50
add esp, 4
push 0xa
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b1ae
add ebx, 0xa
mov byte [esp + 0x19], 1
mov byte [esp + 0x37], al
jmp 0x48b786
push 0x4e41c8
call fcn.0049be50
add esp, 4
push 4
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b1dd
add ebx, 4
mov byte [esp + 0x19], 1
mov byte [esp + 0x37], 1
jmp 0x48b786
push 0x4e45fc
call fcn.0049be50
add esp, 4
push 4
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b207
add ebx, 4
mov byte [esp + 0x55], 1
jmp 0x48b786
push 0x4e460c
call fcn.0049be50
add esp, 4
push 7
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b231
add ebx, 7
mov byte [esp + 0x1f], 1
jmp 0x48b786
push 0x4e461c
call fcn.0049be50
add esp, 4
push 0xc
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b261
add ebx, 0xc
mov dword [esp + 0x160], 0x40000000
jmp 0x48b786
push 0x4e4634
call fcn.0049be50
add esp, 4
push 9
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b28b
add ebx, 9
mov byte [esp + 0x1d], 1
jmp 0x48b786
push str.P:8__
call fcn.0049be50
add esp, 4
push 0xb
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b33f
push 1
add ebx, 0xb
push 0x4d9598
push ebx
mov byte [esp + 0x44], 1
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b2d5
inc ebx
mov dword [esp + 0x110], esi
jmp 0x48b786
push 1
push 0x4d69c8
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b2f6
inc ebx
mov dword [esp + 0x110], eax
jmp 0x48b786
mov al, byte [ebx]
cmp al, 0x20
je 0x48b30e
cmp al, 9
je 0x48b30e
test al, al
je 0x48b30e
mov byte [esp + 0x11], 1
jmp 0x48b786
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx edx, al
shr eax, 8
movzx eax, al
shl dx, 8
or dx, ax
mov ecx, 0x603
cmp dx, cx
sbb eax, eax
and eax, 0xfffffffe
add eax, esi
mov dword [esp + 0x110], eax
jmp 0x48b786
push 0x4e465c
call fcn.0049be50
add esp, 4
push 5
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b369
add ebx, 5
mov byte [esp + 0x67], 1
jmp 0x48b786
push 0x4e466c
call fcn.0049be50
add esp, 4
push 4
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b5c2
push 0x4e41b4
add ebx, 4
mov byte [esp + 0x5a], 1
mov byte [esp + 0x17], al
call fcn.0049be50
add esp, 4
push 0xa
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b3c6
add ebx, 0xa
mov byte [esp + 0x13], 1
mov byte [esp + 0x1b], 1
mov byte [esp + 0x36], al
jmp 0x48b3f9
push 0x4e41c8
call fcn.0049be50
add esp, 4
push 4
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b476
add ebx, 4
mov byte [esp + 0x13], 1
mov byte [esp + 0x1b], 1
mov byte [esp + 0x36], 1
cmp byte [esp + 0x11], 0
jne 0x48b786
cmp dword [esp + 0x84], 0
jne 0x48b786
cmp byte [esp + 0x13], 0
je 0x48b786
push 0x207
lea edx, [esp + 0x654]
push ebx
push edx
call fcn.004bd1c0
add esp, 0xc
mov edi, 0x4d9558
lea eax, [esp + 0x650]
mov byte [esp + 0x857], 0
call fcn.004099e0
test eax, eax
je 0x48b453
mov byte [eax], 0
cmp byte [esp + 0x1b], 0
je 0x48b524
lea esi, [esp + 0x650]
call fcn.0041a410
mov dword [esp + 0x84], eax
jmp 0x48b786
push 0x4dc2bc
call fcn.0049be50
add esp, 4
push 4
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b4a4
add ebx, 4
mov byte [esp + 0x13], 1
mov byte [esp + 0x1b], al
jmp 0x48b3f4
push esi
push 0x4e467c
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b4e1
add ebx, esi
mov ecx, ebx
mov dword [esp + 0x14], ebx
lea ebx, [esp + 0x150]
call fcn.0048fdd0
mov ebx, dword [esp + 0x14]
test al, al
jne 0x48b3f9
mov byte [esp + 0x11], 1
jmp 0x48b786
push 3
push 0x4e4680
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b777
add ebx, 3
mov ecx, ebx
mov dword [esp + 0x14], ebx
lea ebx, [esp + 0x158]
call fcn.0048fdd0
mov ebx, dword [esp + 0x14]
test al, al
jne 0x48b3f9
mov byte [esp + 0x11], 1
jmp 0x48b786
push 0x207
lea eax, [esp + 0x654]
push ebx
push eax
call fcn.004bd1c0
add esp, 0xc
cmp byte [esp + 0x650], 0x3c
mov byte [esp + 0x857], 0
jne 0x48b786
mov edi, 0x4e41d8
lea eax, [esp + 0x651]
call fcn.004099e0
test eax, eax
je 0x48b786
push 0
mov byte [eax], 0
lea ecx, [esp + 0x654]
sub eax, ecx
push 0
lea edx, [ebx + eax + 1]
push 0
lea eax, [esp + 0xb0]
push eax
push 0
lea ecx, [esp + 0x665]
push 0
push ecx
mov dword [esp + 0x30], edx
call fcn.004a43b0
mov ebx, dword [esp + 0x30]
add esp, 0x1c
cmp dword [esp + 0xa4], 1
mov dword [esp + 0x84], eax
jne 0x48b786
mov byte [esp + 0x11], 1
jmp 0x48b786
push 0x4e4684
call fcn.0049be50
add esp, 4
push 0xa
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b740
lea edx, [esp + 0x200]
push 0x1d
add ebx, 0xa
mov eax, edx
push ebx
push eax
mov dword [esp + 0x80], edx
call fcn.004bd1c0
lea ecx, [esp + 0x20c]
add esp, 0xc
push ecx
mov byte [esp + 0x221], 0
call fcn.004bd800
add esp, 4
mov edi, 0x4d9558
lea eax, [esp + 0x200]
call fcn.004099e0
test eax, eax
je 0x48b632
mov byte [eax], 0
lea edx, [esp + 0x70]
push edx
lea ecx, [esp + 0x204]
call fcn.0048fd70
mov esi, dword [esp + 0x74]
add esp, 4
test esi, esi
je 0x48b694
cmp byte [esp + 0x200], 0x30
jne 0x48b694
lea eax, [esp + 0x200]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48b662
sub eax, edx
cmp eax, 2
jbe 0x48b694
mov edi, 0x4e4698
lea eax, [esp + 0x202]
call fcn.004099e0
test eax, eax
je 0x48b692
lea eax, [esp + 0x202]
mov dword [esp + 0x74], eax
jmp 0x48b694
xor esi, esi
mov eax, dword [esp + 0x74]
mov edi, 0x4e4698
mov byte [esp + 0x13], 0
call fcn.004099e0
test eax, eax
je 0x48b6c9
lea edx, [esp + 0x5c]
lea ecx, [eax + 1]
push edx
mov byte [esp + 0x17], 1
call fcn.0048fd70
mov eax, dword [esp + 0xa4]
add esp, 4
jmp 0x48b6cd
mov eax, esi
xor esi, esi
xor ecx, ecx
test esi, esi
sets cl
xor edx, edx
lea edi, [ecx - 1]
and edi, esi
mov esi, dword [esp + 0x5c]
test esi, esi
sets dl
xor ecx, ecx
mov dword [esp + 0x70], edi
dec edx
and esi, edx
test eax, eax
sets cl
mov dword [esp + 0x5c], esi
dec ecx
and eax, ecx
mov dword [esp + 0xa0], eax
test edi, edi
jne 0x48b711
test esi, esi
jne 0x48b711
mov byte [esp + 0x3b], 0
test eax, eax
je 0x48b716
mov byte [esp + 0x3b], 1
cmp byte [esp + 0x13], 0
je 0x48b786
cmp dword [esp + 0x70], 0
jne 0x48b732
cmp dword [esp + 0x5c], 0
je 0x48b786
mov byte [esp + 0x3a], 1
jmp 0x48b786
cmp dword [esp + 0x5c], 0
jne 0x48b786
mov byte [esp + 0x3a], 1
jmp 0x48b786
push 0x4e4190
call fcn.0049be50
add esp, 4
push 0xa
push eax
push ebx
call fcn.004babb4
add esp, 0xc
test eax, eax
jne 0x48b786
add ebx, 0xa
mov ecx, ebx
mov dword [esp + 0x14], ebx
lea ebx, [esp + 0x7c]
call fcn.0048fdd0
mov ebx, dword [esp + 0x14]
test al, al
jne 0x48b77e
mov byte [esp + 0x11], 1
jmp 0x48b786
and dword [esp + 0x7c], 0xffffff
test ebx, ebx
je 0x48b7d0
mov dl, byte [ebx]
test dl, dl
je 0x48b7d0
mov ecx, 0x4d9558
mov al, 0x20
cmp dl, al
je 0x48b7ad
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x48b797
mov dl, byte [ebx + 1]
inc ebx
test dl, dl
jne 0x48b790
jmp 0x48b7d0
test ebx, ebx
je 0x48b7d0
lea eax, [ebx + 1]
mov cl, byte [eax]
cmp cl, 0x20
je 0x48b7c0
cmp cl, 9
jne 0x48b7c3
inc eax
jmp 0x48b7b4
cmp byte [eax], 0x2a
mov dword [esp + 0x14], eax
je 0x48aea0
cmp byte [esp + 0x56], 0
je 0x48b7eb
cmp dword [esp + 0x84], 0
jne 0x48b7e6
mov byte [esp + 0x11], 1
mov byte [esp + 0x39], 1
cmp byte [esp + 0x1c], 0
je 0x48b81e
cmp byte [esp + 0x1a], 0
je 0x48b81e
mov eax, dword [esp + 0x9c]
cmp eax, 2
jne 0x48b80f
cmp dword [esp + 0x88], 1
jmp 0x48b81c
cmp eax, 1
jne 0x48b81e
cmp dword [esp + 0x88], 2
je 0x48b825
cmp byte [esp + 0x11], 0
je 0x48b82f
mov byte [esp + 0x12], 0
jmp 0x48c10a
cmp dword [esp + 0x154], 0xffffff
jne 0x48b863
cmp byte [esp + 0x39], 0
jne 0x48b863
cmp byte [esp + 0x1c], 0
jne 0x48b863
cmp byte [esp + 0x1a], 0
jne 0x48b863
cmp byte [esp + 0x3b], 0
jne 0x48b863
cmp byte [esp + 0x27], 0
jne 0x48b863
xor bl, bl
jmp 0x48b865
mov bl, 1
cmp byte [esp + 0x67], 0
je 0x48b8b4
mov edx, dword [ebp + 0x1c]
cmp byte [edx], 0
jne 0x48b825
cmp byte [esp + 0x19], 0
jne 0x48b825
cmp byte [esp + 0x1f], 0
jne 0x48b825
mov eax, dword [esp + 0x58]
cmp eax, 1
jl 0x48b825
mov ecx, dword [esp + 0x60]
cmp ecx, 1
jl 0x48b825
mov edx, dword [esp + 0x7c]
push 0
push edx
push ecx
call fcn.0048d5d0
add esp, 0xc
test eax, eax
mov dword [esp + 0x28], eax
setne byte [esp + 0x12]
jmp 0x48c10a
cmp byte [esp + 0x6f], 0
je 0x48b8f3
lea ecx, [esp + 0x2c]
call fcn.00489760
test eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x1c]
setne byte [esp + 0x12]
cmp byte [eax], 0
jne 0x48b8e9
cmp byte [esp + 0x19], 0
jne 0x48b8e9
cmp byte [esp + 0x1f], 0
je 0x48c10a
mov byte [esp + 0x12], 0
jmp 0x48c10a
cmp byte [esp + 0x19], 0
je 0x48b995
mov esi, dword [ebp + 0x1c]
mov eax, esi
call fcn.0040dd50
test al, al
je 0x48b98a
push 0x10
push 0
push esi
call fcn.004bc27b
add esp, 0xc
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x10c], 0
mov esi, dword [esp + 0x3c]
jne 0x48bafc
cmp dword [esp + 0x108], 0
je 0x48bafc
test esi, esi
je 0x48baf2
test bl, bl
je 0x48baee
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x34]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
lea eax, [esp + 0x4c]
push esi
push eax
call fcn.00492c30
add esp, 0x2c
mov byte [esp + 0x12], al
test al, al
je 0x48c11a
mov byte [esp + 0x12], 1
jmp 0x48c11a
push esi
call fcn.004bb6c1
add esp, 4
jmp 0x48b91d
cmp byte [esp + 0x1f], 0
je 0x48ba27
mov esi, dword [esp + 0x50]
lea ecx, [esp + 0x3c]
push ecx
mov eax, esi
call fcn.0048d740
add esp, 4
cmp eax, 1
jne 0x48b9e1
mov eax, esi
call fcn.0041a880
cmp dword [eax], 0
je 0x48c10a
mov edx, dword [ebp + 0x1c]
push edx
lea eax, [esp + 0x40]
push eax
call fcn.0048d960
add esp, 8
test al, al
je 0x48c10a
cmp dword [ebp + 0xc], 0
jne 0x48b921
cmp dword [ebp + 0x10], 0
jne 0x48b921
cmp dword [esp + 0x58], 0
jne 0x48b921
cmp dword [esp + 0x60], 0
jne 0x48b921
mov eax, dword [esp + 0x3c]
test eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], 0
setne byte [esp + 0x12]
jmp 0x48c10a
cmp byte [esp + 0x55], 0
je 0x48ba4b
mov esi, dword [ebp + 0x1c]
cmp byte [esi], 0
je 0x48c10a
call fcn.0041a410
mov dword [esp + 0x98], eax
jmp 0x48b921
mov eax, dword [ebp + 0x1c]
cmp byte [eax], 0
je 0x48b921
push 0
push 0
push 0
lea ecx, [esp + 0x5c]
push ecx
push 0
push 0
push eax
mov byte [esp + 0x53], 1
mov byte [esp + 0x34], 1
call fcn.004a43b0
add esp, 0x1c
mov dword [esp + 0x3c], eax
test eax, eax
je 0x48c10a
cmp dword [esp + 0x50], 1
je 0x48c10a
cmp dword [ebp + 0xc], 0
jne 0x48b921
cmp dword [ebp + 0x10], 0
jne 0x48b921
cmp dword [esp + 0x58], 0
jne 0x48b921
cmp dword [esp + 0x60], 0
jne 0x48b921
test bl, bl
je 0x48ba0f
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x34]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
push eax
lea ecx, [esp + 0x50]
push ecx
call fcn.00492c30
add esp, 0x2c
mov byte [esp + 0x12], al
jmp 0x48c10a
mov dword [esp + 0x28], esi
mov byte [esp + 0x12], 1
jmp 0x48c11a
cmp byte [esp + 0x18], 0
jne 0x48c030
cmp byte [esp + 0x19], 0
jne 0x48c030
cmp byte [esp + 0x1f], 0
jne 0x48c030
push 0
call dword [sym.imp.USER32.dll_GetDC]
mov dword [esp + 0x68], eax
test eax, eax
je 0x48c10a
mov eax, dword [0x4ec48c]
movzx esi, word [eax + 0xd0]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
mov edi, dword [esp + 0x58]
mov ebx, dword [esp + 0x60]
and esi, 3
cmp byte [esp + 0x39], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x50], esi
je 0x48bb7b
cmp byte [esp + 0x1e], 0
jne 0x48bb7b
xor edi, edi
mov byte [esp + 0x18], 1
xor ebx, ebx
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], edi
jmp 0x48bb9a
mov byte [esp + 0x18], 0
test edi, edi
je 0x48bb9a
test ebx, ebx
je 0x48bb9a
cmp edi, 1
jl 0x48c0d4
cmp ebx, 1
jl 0x48c0d4
xor eax, eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
cmp byte [esp + 0x55], al
jne 0x48bbcb
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [esp + 0x98], eax
cmp byte [esp + 0x38], 0
je 0x48bc40
test esi, esi
jne 0x48bc0d
mov edx, dword [esp + 0x98]
lea ecx, [esp + 0xe0]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowRect]
mov edi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xec]
sub edi, dword [esp + 0xe0]
sub ebx, dword [esp + 0xe4]
jmp 0x48bd2e
cmp esi, 1
jne 0x48bc3b
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0xe0]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xec]
jmp 0x48bd2e
mov byte [esp + 0x38], 0
test esi, esi
jne 0x48bc97
mov eax, dword [esp + 0x98]
lea edx, [esp + 0xe0]
push edx
push eax
call dword [sym.imp.USER32.dll_GetWindowRect]
mov ecx, dword [esp + 0xe0]
test edi, edi
jne 0x48bc72
mov edi, dword [esp + 0xe8]
sub edi, ecx
sub edi, dword [esp + 0x20]
mov eax, dword [esp + 0xe4]
test ebx, ebx
jne 0x48bc8a
mov ebx, dword [esp + 0xec]
sub ebx, eax
sub ebx, dword [esp + 0x14]
add dword [esp + 0x20], ecx
add dword [esp + 0x14], eax
jmp 0x48bd2e
cmp esi, 1
jne 0x48bd0b
mov esi, dword [esp + 0x98]
lea ecx, [esp + 0xe0]
push ecx
push esi
call dword [sym.imp.USER32.dll_GetClientRect]
xor eax, eax
cmp edi, eax
jne 0x48bcc3
mov edi, dword [esp + 0xe8]
sub edi, dword [esp + 0x20]
cmp ebx, eax
jne 0x48bcd2
mov ebx, dword [esp + 0xec]
sub ebx, dword [esp + 0x14]
lea edx, [esp + 0xa4]
push edx
push esi
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], eax
call dword [sym.imp.USER32.dll_ClientToScreen]
test eax, eax
je 0x48bd2e
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa8]
add dword [esp + 0x20], eax
add dword [esp + 0x14], ecx
jmp 0x48bd2e
test edi, edi
jne 0x48bd1c
push edi
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov edi, eax
sub edi, dword [esp + 0x20]
test ebx, ebx
jne 0x48bd2e
push 1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
mov ebx, eax
sub ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x68]
push edx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov esi, eax
mov dword [esp + 0xf0], esi
test esi, esi
je 0x48c0d4
push 0x2c
lea eax, [esp + 0x238]
push 0
push eax
call fcn.004c16a0
add esp, 0xc
cmp byte [esp + 0x38], 0
mov dword [esp + 0x234], 0x28
mov dword [esp + 0x240], 0x200001
push 0
je 0x48beae
push 0
lea eax, [esp + 0x164]
push eax
push 0
lea ecx, [esp + 0x244]
push ecx
push esi
mov dword [esp + 0x250], edi
mov dword [esp + 0x254], ebx
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [esp + 0x28], eax
test eax, eax
je 0x48c0d4
mov edx, eax
push edx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x80], eax
test eax, eax
je 0x48c0d4
mov ecx, dword [esp + 0x98]
xor eax, eax
cmp dword [esp + 0x50], 1
sete al
or eax, dword [esp + 0x110]
push eax
push esi
push ecx
call dword [sym.imp.USER32.dll_PrintWindow]
test eax, eax
je 0x48c0d4
mov edx, dword [esp + 0x80]
push edx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
cmp byte [esp + 0x18], 0
mov dword [esp + 0x80], 0
je 0x48be25
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x20], eax
jmp 0x48be45
mov eax, dword [esp + 0x58]
test eax, eax
je 0x48be31
mov edi, eax
jmp 0x48be35
sub edi, dword [esp + 0x20]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x48be41
mov ebx, eax
jmp 0x48be45
sub ebx, dword [esp + 0x14]
test edi, edi
je 0x48c0cf
test ebx, ebx
je 0x48c0cf
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x34]
push 0
push 0
push ecx
push edx
push ebx
push edi
push eax
lea ecx, [esp + 0x9c]
push ecx
mov dword [esp + 0xa0], 0
call fcn.00492c30
add esp, 0x2c
test al, al
je 0x48c0d4
mov edx, dword [esp + 0x28]
push edx
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x28], eax
jmp 0x48c0cf
cmp byte [esp + 0x21], 0
je 0x48bfb1
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 1
mov dword [esp + 0x23c], eax
call dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0
push 0
lea ecx, [esp + 0x7c]
push ecx
push 0
lea edx, [esp + 0x244]
push edx
push esi
mov dword [esp + 0x254], eax
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [esp + 0x94], eax
test eax, eax
je 0x48c0d4
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x80], eax
test eax, eax
je 0x48c0d4
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x23c]
or eax, 0xcc0020
push eax
mov eax, dword [esp + 0x23c]
push 0
push 0
push ecx
push edx
push eax
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
je 0x48c0d4
mov ecx, dword [esp + 0x80]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
push 0xffffffffffffffff
push 0
lea edx, [esp + 0x34]
push edx
mov edx, dword [esp + 0xa0]
push 0
push 0
push eax
push ecx
push ebx
push edi
push edx
lea eax, [esp + 0x50]
push eax
mov dword [esp + 0xac], 0
call fcn.00492c30
add esp, 0x2c
test al, al
je 0x48c0d4
mov ecx, dword [esp + 0x94]
push ecx
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x48c0cf
push 0
lea edx, [esp + 0x34]
push edx
push 0
lea eax, [esp + 0x244]
push eax
push esi
mov dword [esp + 0x250], edi
mov dword [esp + 0x254], ebx
call dword [sym.imp.GDI32.dll_CreateDIBSection]
mov dword [esp + 0x28], eax
test eax, eax
je 0x48c0d4
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x80], eax
test eax, eax
je 0x48c0d4
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
or eax, 0xcc0020
push eax
mov eax, dword [esp + 0x6c]
push ecx
push edx
push eax
push ebx
push edi
push 0
push 0
push esi
call dword [sym.imp.GDI32.dll_BitBlt]
test eax, eax
jne 0x48c0cf
jmp 0x48c0d4
test esi, esi
je 0x48c10a
cmp byte [esp + 0x1e], 0
je 0x48c0a4
lea ecx, [esp + 0x260]
push ecx
push 0x18
push esi
call dword [sym.imp.GDI32.dll_GetObjectA]
cmp dword [esp + 0x58], 0
jne 0x48c065
mov eax, dword [esp + 0x264]
sub eax, dword [ebp + 0xc]
mov dword [esp + 0x58], eax
cmp dword [esp + 0x60], 0
jne 0x48c07a
mov eax, dword [esp + 0x268]
sub eax, dword [ebp + 0x10]
mov dword [esp + 0x60], eax
mov edx, dword [esp + 0x7c]
mov ecx, dword [ebp + 0x10]
push edx
mov edx, dword [ebp + 0xc]
push 0
lea eax, [esp + 0x34]
push eax
mov eax, dword [esp + 0x6c]
push 0
push 0
push ecx
mov ecx, dword [esp + 0x70]
push edx
push eax
push ecx
push esi
lea edx, [esp + 0x50]
push edx
jmp 0x48c0bf
push 0xffffffffffffffff
push 0
lea eax, [esp + 0x34]
push eax
push 0
push 0
push 0
push 0
push 0
push 0
push esi
lea ecx, [esp + 0x50]
push ecx
call fcn.00492c30
add esp, 0x2c
mov byte [esp + 0x12], al
test al, al
je 0x48c10a
mov byte [esp + 0x12], 1
mov eax, dword [esp + 0x68]
test eax, eax
je 0x48c0e5
push eax
push 0
call dword [sym.imp.USER32.dll_ReleaseDC]
mov esi, dword [esp + 0xf0]
test esi, esi
je 0x48c10a
mov eax, dword [esp + 0x80]
test eax, eax
je 0x48c103
push eax
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
mov ecx, dword [esp + 0x10c]
test ecx, ecx
je 0x48c11a
call fcn.0041a480
mov ecx, dword [esp + 0x108]
test ecx, ecx
je 0x48c12a
call fcn.0041a480
cmp byte [esp + 0x12], 0
je 0x48d0db
mov eax, dword [esp + 0x28]
lea edx, [esp + 0x120]
push edx
push 0x18
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
je 0x48c4ee
mov eax, dword [esp + 0x154]
mov esi, dword [esp + 0x124]
mov edi, dword [esp + 0x128]
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], edi
cmp eax, 0xffffff
je 0x48c1b3
cmp byte [esp + 0x1e], 0
je 0x48c190
push 0
push 0
push edi
push esi
push eax
xor eax, eax
xor edx, edx
jmp 0x48c1a3
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ecx
push edx
mov edx, dword [esp + 0x60]
push edi
push esi
push eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x40]
call fcn.0048da70
mov byte [esp + 0x26], al
add esp, 0x14
cmp byte [esp + 0x12], 0
je 0x48c354
cmp byte [esp + 0x39], 0
je 0x48c231
cmp byte [esp + 0x56], 0
je 0x48c231
cmp byte [esp + 0x1e], 0
mov eax, dword [esp + 0x2c]
push edi
push esi
je 0x48c1fc
mov ecx, dword [esp + 0x160]
mov edx, dword [esp + 0x158]
push 0
push 0
push eax
mov eax, dword [esp + 0x98]
push ecx
push edx
push eax
xor eax, eax
xor ecx, ecx
jmp 0x48c225
mov ecx, dword [esp + 0x68]
mov edx, dword [ebp + 0xc]
push ecx
mov ecx, dword [esp + 0x164]
push edx
mov edx, dword [esp + 0x160]
push eax
mov eax, dword [esp + 0x98]
push ecx
mov ecx, dword [ebp + 0x10]
push edx
push eax
mov eax, dword [esp + 0x78]
call fcn.0048df80
mov byte [esp + 0x32], al
add esp, 0x20
cmp byte [esp + 0x12], 0
je 0x48c354
cmp byte [esp + 0x27], 0
je 0x48c321
cmp byte [esp + 0x57], 0
jne 0x48c2d8
mov ecx, dword [esp + 0x198]
mov edx, dword [esp + 0x1a8]
mov eax, dword [esp + 0x1a0]
push edi
push esi
push ecx
mov ecx, dword [esp + 0x19c]
push edx
mov edx, dword [esp + 0x9c]
push eax
mov eax, dword [esp + 0xa4]
push ecx
mov ecx, dword [esp + 0x1ac]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x1bc]
push ecx
mov ecx, dword [esp + 0x1d0]
push edx
mov edx, dword [esp + 0x1cc]
push eax
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x64]
lea eax, [esp + 0x1e4]
push eax
push ecx
push edx
lea eax, [esp + 0x1a4]
push eax
lea ecx, [esp + 0x1c4]
push ecx
call fcn.0048ea40
add esp, 0x48
jmp 0x48c31d
mov edx, dword [esp + 0x13c]
test edx, edx
je 0x48c321
mov eax, edx
lea ebx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x48c2e8
sub eax, ebx
je 0x48c321
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x90]
push edi
push esi
push eax
mov eax, dword [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x3c]
push eax
push ecx
push edx
mov edx, dword [esp + 0x4c]
push edx
call fcn.00415b70
mov byte [esp + 0x12], al
cmp byte [esp + 0x12], 0
je 0x48c354
cmp byte [esp + 0x1a], 0
je 0x48c354
cmp dword [esp + 0x88], 2
jne 0x48c354
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x144]
push eax
push edi
push esi
push ecx
call fcn.0048f900
add esp, 0x10
mov byte [esp + 0x12], al
cmp byte [esp + 0x12], 0
mov byte [esp + 0x18], 0
je 0x48d0db
mov bl, byte [esp + 0x1c]
test bl, bl
je 0x48c3a6
cmp dword [esp + 0x9c], 2
jne 0x48c3a6
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0xf4]
lea edx, [esp + 0x18]
push edx
mov edx, dword [esp + 0xf4]
push eax
mov eax, dword [esp + 0x34]
push 2
push ecx
push edx
push eax
call fcn.0048fa60
add esp, 0x18
mov byte [esp + 0x12], al
cmp byte [esp + 0x12], 0
je 0x48d0db
cmp byte [esp + 0x3b], 0
je 0x48c557
mov edi, dword [esp + 0x70]
fld qword [0x4e58c0]
test edi, edi
jne 0x48c408
cmp dword [esp + 0xa0], 0
je 0x48c3ef
fild dword [esp + 0x124]
fdiv st(1)
fimul dword [esp + 0xa0]
call fcn.004c9200
mov dword [esp + 0x70], eax
jmp 0x48c404
xor ecx, ecx
cmp byte [esp + 0x3a], cl
setne cl
dec ecx
and ecx, dword [esp + 0x124]
mov dword [esp + 0x70], ecx
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x5c]
test esi, esi
jne 0x48c44b
cmp dword [esp + 0xa0], esi
je 0x48c434
fidivr dword [esp + 0x128]
fimul dword [esp + 0xa0]
call fcn.004c9200
mov dword [esp + 0x5c], eax
mov esi, eax
jmp 0x48c44d
xor edx, edx
cmp byte [esp + 0x3a], dl
setne dl
dec edx
and edx, dword [esp + 0x128]
mov dword [esp + 0x5c], edx
mov esi, edx
fstp st(0)
cmp byte [esp + 0x3a], 0
je 0x48c4e6
test edi, edi
jne 0x48c4a4
test esi, esi
je 0x48c4ee
mov ecx, dword [esp + 0x128]
mov eax, esi
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
fidiv dword [esp + 0x128]
cmp esi, ecx
jg 0x48c489
fchs
fimul dword [esp + 0x124]
call fcn.004c9200
add eax, dword [esp + 0x124]
mov dword [esp + 0x70], eax
mov edi, eax
jmp 0x48c4e6
test esi, esi
jne 0x48c4e6
mov ecx, dword [esp + 0x124]
mov eax, edi
sub eax, ecx
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
fidiv dword [esp + 0x124]
cmp edi, ecx
jg 0x48c4cd
fchs
fimul dword [esp + 0x128]
call fcn.004c9200
add eax, dword [esp + 0x128]
mov dword [esp + 0x5c], eax
mov esi, eax
test edi, edi
jle 0x48c4ee
test esi, esi
jg 0x48c4f8
mov byte [esp + 0x12], 0
jmp 0x48d0db
cmp dword [esp + 0x124], edi
jne 0x48c50a
cmp esi, dword [esp + 0x128]
je 0x48c557
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x128]
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x12c]
lea ecx, [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x34]
push edx
push eax
push 0
push 0
push esi
push edi
push ecx
lea edx, [esp + 0x50]
push edx
call fcn.00492c30
mov ecx, dword [esp + 0x54]
add esp, 0x2c
mov byte [esp + 0x12], al
lea eax, [esp + 0x120]
push eax
push 0x18
push ecx
call dword [sym.imp.GDI32.dll_GetObjectA]
cmp byte [esp + 0x12], 0
je 0x48d0db
cmp byte [esp + 0x1a], 0
je 0x48c59b
cmp dword [esp + 0x88], 1
jne 0x48c59b
mov edx, dword [esp + 0xf4]
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0x2c]
push edx
push eax
push ecx
lea eax, [esp + 0x150]
call fcn.0048f7e0
add esp, 0xc
mov byte [esp + 0x12], al
cmp byte [esp + 0x12], 0
je 0x48d0db
test bl, bl
je 0x48c776
mov ecx, 1
cmp dword [esp + 0x9c], ecx
jne 0x48c776
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa4], eax
mov byte [esp + 0x1d], 0
test eax, eax
jne 0x48c5dd
mov byte [esp + 0x12], al
jmp 0x48d0db
mov eax, dword [esp + 0x118]
lea esi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x48c5e7
sub eax, esi
jne 0x48c5fb
mov byte [esp + 0x12], al
jmp 0x48d0db
mov edx, 2
lea ebx, [eax*8]
lea esi, [ebx*4]
push esi
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], edx
mov dword [esp + 0x1c8], ecx
mov dword [esp + 0x1cc], edx
mov dword [esp + 0x1d0], edx
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], ecx
call fcn.004ba2ed
mov edi, eax
add esp, 4
mov dword [esp + 0x8c], edi
test edi, edi
je 0x48c76e
push esi
call fcn.004ba2ed
mov esi, eax
add esp, 4
mov dword [esp + 0x90], esi
test esi, esi
je 0x48c758
xor esi, esi
test ebx, ebx
je 0x48c6fc
mov edi, eax
mov eax, dword [esp + 0x8c]
sub eax, edi
mov dword [esp + 0x50], eax
lea ecx, [ecx]
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea edx, [edx + edx*4]
add edx, edx
mov eax, esi
sub eax, edx
mov edx, dword [esp + 0x118]
mov eax, dword [esp + eax*4 + 0x1b0]
mov ecx, esi
shr ecx, 3
movsx edx, byte [ecx + edx]
mov ecx, esi
and ecx, 7
shr edx, cl
add eax, eax
add eax, eax
add eax, eax
and edx, 1
mov ecx, eax
shl edx, cl
mov ecx, dword [esp + 0x50]
inc esi
add edi, 4
mov dword [edi + ecx - 4], edx
mov edx, 1
mov ecx, eax
shl edx, cl
not edx
mov dword [edi - 4], edx
cmp esi, ebx
jb 0x48c6a0
mov eax, dword [esp + 0xf4]
imul eax, dword [esp + 0xf0]
xor ecx, ecx
mov dword [esp + 0x50], eax
test eax, eax
jle 0x48c745
mov esi, dword [esp + 0xa4]
mov edi, dword [esp + 0x8c]
mov eax, ecx
xor edx, edx
div ebx
mov eax, dword [esp + 0x90]
inc ecx
mov eax, dword [eax + edx*4]
and eax, dword [esi + ecx*4 - 4]
or eax, dword [edi + edx*4]
mov dword [esi + ecx*4 - 4], eax
cmp ecx, dword [esp + 0x50]
jl 0x48c723
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x8c]
mov byte [esp + 0x1d], 1
push edi
call fcn.004ba14c
add esp, 4
test esi, esi
je 0x48c76e
push esi
call fcn.004ba14c
add esp, 4
mov cl, byte [esp + 0x1d]
mov byte [esp + 0x12], cl
cmp byte [esp + 0x12], 0
je 0x48d0db
cmp dword [esp + 0x108], 0
je 0x48d0b1
lea edx, [esp + 0x3d0]
mov dword [esp + 0x290], edx
lea eax, [esp + 0x3e0]
mov dword [esp + 0x294], eax
lea ecx, [esp + 0x3f0]
mov dword [esp + 0x298], ecx
lea edx, [esp + 0x400]
mov dword [esp + 0x29c], edx
lea eax, [esp + 0x410]
mov dword [esp + 0x2a0], eax
lea ecx, [esp + 0x420]
mov dword [esp + 0x2a4], ecx
lea edx, [esp + 0x430]
mov dword [esp + 0x2a8], edx
lea eax, [esp + 0x440]
mov dword [esp + 0x2ac], eax
lea ecx, [esp + 0x450]
mov dword [esp + 0x2b0], ecx
lea edx, [esp + 0x460]
mov dword [esp + 0x2b4], edx
lea eax, [esp + 0x470]
mov dword [esp + 0x2b8], eax
lea ecx, [esp + 0x480]
lea edx, [esp + 0x490]
lea eax, [esp + 0x4a0]
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], edx
mov dword [esp + 0x2c4], eax
lea ecx, [esp + 0x4b0]
lea edx, [esp + 0x4c0]
lea eax, [esp + 0x4d0]
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x2cc], edx
mov dword [esp + 0x2d0], eax
lea ecx, [esp + 0x4e0]
lea edx, [esp + 0x4f0]
lea eax, [esp + 0x500]
xor edi, edi
push str._53
mov dword [esp + 0x2d8], ecx
mov dword [esp + 0x2dc], edx
mov dword [esp + 0x2e0], eax
mov dword [esp + 0x3dc], edi
call fcn.0049be50
mov dword [esp + 0x3d4], eax
mov eax, dword [esp + 0x128]
cdq
add esp, 4
mov ebx, 1
push str.8_8___
mov dword [esp + 0x3ec], ebx
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x3e8], edx
mov dword [esp + 0x3fc], edi
call fcn.0049be50
mov dword [esp + 0x3f4], eax
mov eax, dword [esp + 0x12c]
cdq
add esp, 4
mov dword [esp + 0x408], ebx
mov dword [esp + 0x400], eax
mov dword [esp + 0x404], edx
mov dword [esp + 0x68], 4
mov dword [esp + 0xd8], edi
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd0], edi
mov dword [esp + 0xb8], edi
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], edi
xor esi, esi
mov dword [esp + 0x100], edi
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf8], edi
mov eax, 2
mov byte [esp + 0x1864], 8
cmp dword [esp + 0x88], eax
jne 0x48c9b7
push str._4____
mov dword [esp + 0x41c], edi
call fcn.0049be50
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x414], eax
mov dword [esp + 0x42c], edi
mov dword [esp + 0x424], ecx
mov dword [esp + 0x6c], 6
jmp 0x48ce75
cmp dword [esp + 0x9c], eax
jne 0x48ca00
push str.8___
mov dword [esp + 0x41c], edi
call fcn.0049be50
mov dword [esp + 0x414], eax
movzx eax, byte [esp + 0x1c]
cdq
mov dword [esp + 0x42c], ebx
mov dword [esp + 0x424], eax
mov dword [esp + 0x428], edx
mov dword [esp + 0x6c], 6
jmp 0x48ce75
cmp byte [esp + 0x27], 0
je 0x48ce78
cmp byte [esp + 0x57], 0
jne 0x48ca7c
push 0x4e46dc
mov dword [esp + 0x41c], edi
call fcn.0049be50
mov edx, dword [esp + 0x188]
add esp, 4
push 0x4e46e8
mov dword [esp + 0x414], eax
mov dword [esp + 0x42c], edi
mov dword [esp + 0x424], edx
mov dword [esp + 0x43c], edi
call fcn.0049be50
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x16c]
mov dword [esp + 0x44c], edi
mov dword [esp + 0x444], eax
mov dword [esp + 0x6c], 8
jmp 0x48ce75
mov dword [esp + 0xac], edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa4], edi
mov dword [esp + 0x178], edi
mov dword [esp + 0x174], edi
mov dword [esp + 0x170], edi
push 0x78
mov byte [esp + 0x1868], 0xa
push edi
mov dword [esp + 0xd8], 0x3c
call fcn.004bb6d7
add esp, 8
cmp eax, edi
jne 0x48cae1
push edi
call fcn.004ba14c
add esp, 4
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd0], edi
jmp 0x48caf2
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edi
mov byte [eax], 0
push 0x258
mov esi, 0x12c
push edi
mov dword [esp + 0xb8], esi
call fcn.004bb6d7
add esp, 8
cmp eax, edi
jne 0x48cb29
push edi
call fcn.004ba14c
add esp, 4
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], edi
jmp 0x48cb3a
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edi
mov byte [eax], 0
push 0x258
push edi
mov dword [esp + 0x100], esi
call fcn.004bb6d7
add esp, 8
cmp eax, edi
jne 0x48cb6c
push edi
call fcn.004ba14c
add esp, 4
mov dword [esp + 0xfc], edi
mov dword [esp + 0xf8], edi
jmp 0x48cb7d
mov dword [esp + 0xfc], eax
mov dword [esp + 0x100], edi
mov byte [eax], 0
xor ebx, ebx
nop
mov edx, dword [esp + 0x30]
lea ecx, [esp + 0x170]
push ecx
push ebx
push edx
lea ecx, [esp + 0xb0]
lea eax, [esp + 0x5c]
call fcn.00414870
test al, al
je 0x48cc2b
cmp ebx, edi
je 0x48cbe6
push 1
push edi
push 0x4d99e0
lea esi, [esp + 0xdc]
call fcn.00414160
push 1
push edi
push 0x4d99e0
lea esi, [esp + 0xbc]
call fcn.00414160
push 1
push edi
push 0x4d99e0
lea esi, [esp + 0x104]
call fcn.00414160
mov eax, dword [esp + 0x50]
cdq
push edx
push eax
lea esi, [esp + 0xd8]
call fcn.00413e40
lea eax, [esp + 0xa4]
lea ecx, [esp + 0xb0]
call fcn.00413dc0
lea eax, [esp + 0x170]
lea ecx, [esp + 0xf8]
call fcn.00413dc0
inc ebx
cmp ebx, 0xa
jl 0x48cb80
jmp 0x48cc30
mov byte [esp + 0x12], 0
lea eax, [esp + 0x510]
mov dword [esp + 0x1b0], eax
lea ecx, [esp + 0x520]
mov dword [esp + 0x1b4], ecx
lea edx, [esp + 0x530]
mov dword [esp + 0x1b8], edx
lea eax, [esp + 0x540]
mov dword [esp + 0x1bc], eax
lea ecx, [esp + 0x550]
mov dword [esp + 0x1c0], ecx
lea edx, [esp + 0x560]
mov dword [esp + 0x1c4], edx
lea eax, [esp + 0x570]
mov dword [esp + 0x1c8], eax
lea ecx, [esp + 0x580]
mov dword [esp + 0x1cc], ecx
lea edx, [esp + 0x590]
mov dword [esp + 0x1d0], edx
lea eax, [esp + 0x5a0]
mov dword [esp + 0x1d4], eax
lea ecx, [esp + 0x5b0]
mov dword [esp + 0x1d8], ecx
lea edx, [esp + 0x5c0]
lea eax, [esp + 0x5d0]
lea ecx, [esp + 0x5e0]
mov dword [esp + 0x1dc], edx
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], ecx
lea edx, [esp + 0x5f0]
lea eax, [esp + 0x600]
lea ecx, [esp + 0x610]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], ecx
lea edx, [esp + 0x620]
lea eax, [esp + 0x630]
lea ecx, [esp + 0x640]
push str.___.
mov dword [esp + 0x1f8], edx
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], ecx
mov dword [esp + 0x51c], edi
call fcn.0049be50
mov edx, dword [esp + 0xd8]
add esp, 4
push 0x4e455c
mov dword [esp + 0x514], eax
mov dword [esp + 0x52c], edi
mov dword [esp + 0x524], edx
mov dword [esp + 0x53c], edi
call fcn.0049be50
mov dword [esp + 0x534], eax
mov eax, dword [esp + 0xb8]
add esp, 4
push 0x4e454c
mov dword [esp + 0x54c], edi
mov dword [esp + 0x544], eax
mov dword [esp + 0x55c], edi
call fcn.0049be50
mov esi, dword [esp + 0x100]
add esp, 4
mov ebx, 6
lea ecx, [esp + 0x1b0]
push ebx
push ecx
mov dword [esp + 0x558], eax
mov dword [esp + 0x570], edi
mov dword [esp + 0x568], esi
call fcn.004962d0
add esp, 8
cmp eax, edi
jne 0x48cdf9
mov byte [esp + 0x12], 0
jmp 0x48ce24
cmp byte [esp + 0x12], 0
je 0x48ce24
mov dword [esp + 0x418], edi
mov dword [esp + 0x410], 0x4e46fc
mov dword [esp + 0x428], ebx
mov dword [esp + 0x420], eax
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x174]
cmp ebx, edi
je 0x48ce4a
mov edx, dword [esp + 0x170]
push edx
push edi
push ebx
call fcn.004c16a0
add esp, 0xc
push ebx
call fcn.004ba14c
add esp, 4
mov byte [esp + 0x1864], 8
mov ebx, dword [esp + 0xa8]
cmp ebx, edi
je 0x48ce78
mov eax, dword [esp + 0xa4]
push eax
push edi
push ebx
call fcn.004c16a0
add esp, 0xc
push ebx
call fcn.004ba14c
add esp, 4
cmp byte [esp + 0x12], 0
je 0x48d03b
mov ecx, dword [esp + 0x68]
push ecx
lea edx, [esp + 0x294]
push edx
call fcn.004962d0
add esp, 8
test eax, eax
je 0x48ceb2
mov ecx, dword [esp + 0x108]
mov edi, eax
call fcn.004a5f60
test eax, eax
jne 0x48d03b
mov edi, dword [esp + 0x168]
mov ebx, dword [esp + 0x184]
test esi, esi
je 0x48cee0
mov eax, dword [esp + 0xf8]
push eax
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov esi, dword [esp + 0xb4]
test esi, esi
je 0x48cf07
mov ecx, dword [esp + 0xb0]
push ecx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov esi, dword [esp + 0xd4]
test esi, esi
je 0x48cf2e
mov edx, dword [esp + 0xd0]
push edx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
test edi, edi
je 0x48cf4e
mov eax, dword [esp + 0x164]
push eax
push 0
push edi
call fcn.004c16a0
add esp, 0xc
push edi
call fcn.004ba14c
add esp, 4
test ebx, ebx
je 0x48cf6e
mov ecx, dword [esp + 0x180]
push ecx
push 0
push ebx
call fcn.004c16a0
add esp, 0xc
push ebx
call fcn.004ba14c
add esp, 4
cmp dword [esp + 0x13c], 0
je 0x48cf9b
mov edx, dword [esp + 0x138]
mov esi, dword [esp + 0x13c]
push edx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
cmp dword [esp + 0x148], 0
je 0x48cfc8
mov eax, dword [esp + 0x144]
mov esi, dword [esp + 0x148]
push eax
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
cmp dword [esp + 0x118], 0
je 0x48cff5
mov ecx, dword [esp + 0x114]
mov esi, dword [esp + 0x118]
push ecx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
cmp dword [esp + 0xc8], 0
je 0x48d022
mov edx, dword [esp + 0xc4]
mov esi, dword [esp + 0xc8]
push edx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
xor eax, eax
mov ecx, dword [esp + 0x185c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
test esi, esi
je 0x48d05b
mov eax, dword [esp + 0xf8]
push eax
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov esi, dword [esp + 0xb4]
test esi, esi
je 0x48d082
mov ecx, dword [esp + 0xb0]
push ecx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov byte [esp + 0x1864], 5
mov esi, dword [esp + 0xd4]
test esi, esi
je 0x48d0b1
mov edx, dword [esp + 0xd0]
push edx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
cmp byte [esp + 0x12], 0
je 0x48d0db
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x10c]
test eax, eax
je 0x48d0d7
test esi, esi
je 0x48d0db
cdq
push 0x18
push edx
push eax
mov eax, esi
call fcn.00401570
test esi, esi
jne 0x48d0f0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x48d0f0
cmp eax, dword [esp + 0x3c]
je 0x48d0f0
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x48d10d
cmp byte [esp + 0x19], 0
je 0x48d106
cmp byte [esp + 0x37], 0
je 0x48d10d
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [esp + 0x84]
test eax, eax
je 0x48d12d
cmp byte [esp + 0x1b], 0
je 0x48d126
cmp byte [esp + 0x36], 0
je 0x48d12d
push eax
call dword [sym.imp.GDI32.dll_DeleteObject]
mov esi, dword [esp + 0x30]
test esi, esi
je 0x48d16d
mov eax, dword [esi]
test eax, eax
je 0x48d144
push eax
call fcn.004ba14c
add esp, 4
mov eax, dword [esi + 4]
test eax, eax
je 0x48d154
push eax
call fcn.004ba14c
add esp, 4
mov eax, dword [esi + 8]
test eax, eax
je 0x48d164
push eax
call fcn.004ba14c
add esp, 4
push esi
call fcn.004b9d3f
add esp, 4
cmp byte [esp + 0x12], 0
je 0x48d18c
mov eax, dword [0x4f13d8]
push 1
push 0
push 0xffffffffffffffff
push 0x4d69c8
push eax
call fcn.004a5c20
jmp 0x48d1c8
mov ecx, dword [0x4ec48c]
test byte [ecx + 0xe0], 1
jne 0x48d1b4
mov edx, dword [0x4f13d8]
push 1
push 0
push 0xffffffffffffffff
push 0x4d9220
push edx
call fcn.004a5c20
jmp 0x48d1c8
mov ecx, dword [ebp + 8]
push 0x4d6959
push 0
push 0x4d9220
call fcn.0042d070
mov esi, dword [esp + 0x168]
mov edi, eax
test esi, esi
je 0x48d1f1
mov eax, dword [esp + 0x164]
push eax
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov esi, dword [esp + 0x184]
test esi, esi
je 0x48d218
mov ecx, dword [esp + 0x180]
push ecx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov esi, dword [esp + 0x13c]
test esi, esi
je 0x48d23f
mov edx, dword [esp + 0x138]
push edx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov esi, dword [esp + 0x148]
test esi, esi
je 0x48d266
mov eax, dword [esp + 0x144]
push eax
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov esi, dword [esp + 0x118]
test esi, esi
je 0x48d28d
mov ecx, dword [esp + 0x114]
push ecx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov esi, dword [esp + 0xc8]
test esi, esi
je 0x48d2b4
mov edx, dword [esp + 0xc4]
push edx
push 0
push esi
call fcn.004c16a0
add esp, 0xc
push esi
call fcn.004ba14c
add esp, 4
mov ecx, dword [esp + 0x185c]
mov eax, edi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x1c