Function at 0x548d80
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x628518
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x168
push ebx
push ebp
push esi
mov esi, ecx
xor ebp, ebp
push edi
mov eax, dword [esi + 0x34]
mov dword [esp + 0x30], esi
cmp eax, ebp
jne 0x548db5
xor eax, eax
jmp 0x549e2b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.005532f0
mov ecx, dword [eax]
mov dword [esp + 0x84], ecx
mov edx, dword [eax + 4]
fld dword [esp + 0x84]
mov ecx, dword [eax + 8]
mov dword [esp + 0x88], edx
fcomp dword [esp + 0x88]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], edx
fnstsw ax
test ah, 1
je 0x548e12
fld dword [esp + 0x8c]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 1
jne 0x548e19
xor eax, eax
jmp 0x549e2b
mov ecx, esi
call fcn.00548c50
mov ebx, eax
cmp ebx, ebp
jne 0x548e2d
xor eax, eax
jmp 0x549e2b
mov ecx, esi
call fcn.00548c30
cmp eax, ebp
jne 0x548e3f
xor eax, eax
jmp 0x549e2b
mov ecx, ebx
call fcn.004b0be0
cmp eax, ebp
mov dword [esp + 0x40], eax
jne 0x548eca
mov eax, dword [esi + 0xc]
push eax
call fcn.00486a50
mov edi, eax
add esp, 4
cmp edi, ebp
mov dword [esp + 0x40], edi
jne 0x548e90
push ecx
mov ecx, esp
mov dword [esp + 0x84], esp
push 0xffffffffffffffff
push str.Helvetica
call fcn.00489310
mov ecx, dword [esi + 0xc]
push ecx
call fcn.00486bb0
mov edi, eax
add esp, 8
cmp edi, ebp
mov dword [esp + 0x40], edi
je 0x548eca
lea ecx, [esp + 0x38]
call fcn.004892c0
mov ecx, dword [esi + 0x34]
lea edx, [esp + 0x38]
push edx
push edi
mov dword [esp + 0x188], ebp
call fcn.00487ef0
push edi
mov ecx, ebx
call fcn.004b0cc0
lea ecx, [esp + 0x38]
mov dword [esp + 0x180], 0xffffffff
call fcn.004892e0
push 0x110
call fcn.005e6f29
add esp, 4
mov dword [esp + 0x6c], eax
cmp eax, ebp
mov dword [esp + 0x180], 1
je 0x548ef3
mov ecx, eax
call fcn.0056d3d0
mov ebp, eax
xor edx, edx
mov ecx, 0x1f
xor eax, eax
lea edi, [esp + 0xfc]
mov dword [esp + 0x108], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0x11c], edx
mov dword [esp + 0x12c], edx
mov dword [esp + 0x128], edx
mov dword [esp + 0x124], edx
mov dword [esp + 0x120], edx
mov dword [esp + 0x138], edx
mov dword [esp + 0x148], edx
mov dword [esp + 0x144], edx
mov dword [esp + 0x140], edx
mov dword [esp + 0x13c], edx
mov dword [esp + 0x14c], edx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x158], edx
mov dword [esp + 0x154], edx
mov dword [esp + 0x150], edx
mov dword [esp + 0x16c], edx
mov dword [esp + 0x168], edx
mov dword [esp + 0x164], edx
rep stosd dword es:[edi], eax
lea eax, [esp + 0x48]
mov ecx, esi
push eax
mov dword [esp + 0x184], 0xffffffff
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], 1
mov dword [esp + 0x164], 0x41100000
mov dword [esp + 0x178], edx
call fcn.00548c70
mov ecx, dword [eax]
mov dword [esp + 0xfc], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x100], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x104], ecx
mov ecx, ebx
mov edx, dword [eax + 0xc]
xor eax, eax
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x114], eax
call fcn.004b0320
cmp eax, 4
mov dword [esp + 0x80], eax
ja case.0x549034.1
jmp dword [eax*4 + 0x549e44]
mov edi, 0xc8000001
jmp 0x549055
mov edi, 0xc8000004
jmp 0x549055
mov edi, 0xc8000002
jmp 0x549055
mov edi, 0xc8000008
mov ecx, ebx
call fcn.004b0a10
dec eax
cmp eax, 5
ja case.default.0x549062
jmp dword [eax*4 + 0x549e58]
or edi, 0x20
jmp 0x549096
or edi, 0x40
jmp 0x549096
or edi, 0x80
jmp 0x549096
or edi, 0x100
jmp 0x549096
or edi, 0x200
jmp 0x549096
or edi, 0x400
jmp 0x549096
or edi, 0x10
push ecx
mov dword [esp + 0x11c], edi
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
push 0x6a22c8
call fcn.00489310
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x48]
push eax
push ecx
mov ecx, ebx
call fcn.004b0730
mov eax, dword [esp + 0x44]
test eax, eax
jle 0x5491ef
fld dword [esp + 0x18]
fcomp dword [0x635d9c]
mov dword [esp + 0x48], eax
fnstsw ax
test ah, 0x41
jne 0x5490fd
fld dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x549109
fstp dword [esp + 0x4c]
jmp 0x549113
fld dword [0x635d9c]
fstp dword [esp + 0x4c]
jmp 0x549113
fstp st(0)
mov dword [esp + 0x4c], 0x3f800000
fld dword [esp + 0x1c]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
jne 0x54913f
fld dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x54914b
fstp dword [esp + 0x50]
jmp 0x549155
fld dword [0x635d9c]
fstp dword [esp + 0x50]
jmp 0x549155
fstp st(0)
mov dword [esp + 0x50], 0x3f800000
fld dword [esp + 0x20]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
jne 0x549181
fld dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x54918d
fstp dword [esp + 0x54]
jmp 0x549197
fld dword [0x635d9c]
fstp dword [esp + 0x54]
jmp 0x549197
fstp st(0)
mov dword [esp + 0x54], 0x3f800000
fld dword [esp + 0x24]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
jne 0x5491c3
fld dword [esp + 0x24]
fld dword [esp + 0x24]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x5491cf
fstp dword [esp + 0x58]
jmp 0x5491d9
fld dword [0x635d9c]
fstp dword [esp + 0x58]
jmp 0x5491d9
fstp st(0)
mov dword [esp + 0x58], 0x3f800000
mov ecx, 5
lea esi, [esp + 0x48]
lea edi, [esp + 0x11c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x30]
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
push 0x69bde0
call fcn.00489310
lea edx, [esp + 0x1c]
lea eax, [esp + 0x48]
push edx
push eax
mov ecx, ebx
call fcn.004b0730
mov eax, dword [esp + 0x44]
test eax, eax
jle 0x549341
fld dword [esp + 0x18]
fcomp dword [0x635d9c]
mov dword [esp + 0x48], eax
fnstsw ax
test ah, 0x41
jne 0x54924f
fld dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x54925b
fstp dword [esp + 0x4c]
jmp 0x549265
fld dword [0x635d9c]
fstp dword [esp + 0x4c]
jmp 0x549265
fstp st(0)
mov dword [esp + 0x4c], 0x3f800000
fld dword [esp + 0x1c]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
jne 0x549291
fld dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x54929d
fstp dword [esp + 0x50]
jmp 0x5492a7
fld dword [0x635d9c]
fstp dword [esp + 0x50]
jmp 0x5492a7
fstp st(0)
mov dword [esp + 0x50], 0x3f800000
fld dword [esp + 0x20]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
jne 0x5492d3
fld dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x5492df
fstp dword [esp + 0x54]
jmp 0x5492e9
fld dword [0x635d9c]
fstp dword [esp + 0x54]
jmp 0x5492e9
fstp st(0)
mov dword [esp + 0x54], 0x3f800000
fld dword [esp + 0x24]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
jne 0x549315
fld dword [esp + 0x24]
fld dword [esp + 0x24]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x549321
fstp dword [esp + 0x58]
jmp 0x54932b
fld dword [0x635d9c]
fstp dword [esp + 0x58]
jmp 0x54932b
fstp st(0)
mov dword [esp + 0x58], 0x3f800000
mov ecx, 5
lea esi, [esp + 0x48]
lea edi, [esp + 0x138]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.00553b10
mov ecx, esi
mov dword [esp + 0x134], eax
call fcn.00554420
dec eax
mov ecx, 3
cmp eax, ecx
mov edi, 2
ja case.default.0x549365
jmp dword [eax*4 + 0x549e70]
mov eax, ecx
xor edx, edx
mov dword [esp + 0x130], 1
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ecx
mov dword [esp + 0x16c], edx
jmp 0x5493de
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x130], edi
lea edx, [ecx + ecx]
mov dword [esp + 0x134], edx
jmp 0x5493de
mov eax, dword [esp + 0x134]
mov dword [esp + 0x130], ecx
lea ecx, [eax + eax]
mov dword [esp + 0x134], ecx
jmp 0x5493de
mov dword [esp + 0x130], 4
jmp 0x5493de
mov dword [esp + 0x130], 0
lea edx, [esp + 0x3c]
mov ecx, ebx
push edx
call fcn.004b0a90
push 0
lea ecx, [esp + 0x40]
mov dword [esp + 0x184], edi
call fcn.005508e0
test eax, eax
je 0x54953f
lea eax, [esp + 0x18]
push 0
lea ecx, [esp + 0x48]
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.004ae950
fld dword [esp + 0x18]
fcomp dword [0x635d9c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x48], edx
fnstsw ax
test ah, 0x41
jne 0x54944d
fld dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x549459
fstp dword [esp + 0x4c]
jmp 0x549463
fld dword [0x635d9c]
fstp dword [esp + 0x4c]
jmp 0x549463
fstp st(0)
mov dword [esp + 0x4c], 0x3f800000
fld dword [esp + 0x1c]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
jne 0x54948f
fld dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x54949b
fstp dword [esp + 0x50]
jmp 0x5494a5
fld dword [0x635d9c]
fstp dword [esp + 0x50]
jmp 0x5494a5
fstp st(0)
mov dword [esp + 0x50], 0x3f800000
fld dword [esp + 0x20]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
jne 0x5494d1
fld dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x5494dd
fstp dword [esp + 0x54]
jmp 0x5494e7
fld dword [0x635d9c]
fstp dword [esp + 0x54]
jmp 0x5494e7
fstp st(0)
mov dword [esp + 0x54], 0x3f800000
fld dword [esp + 0x24]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
jne 0x549513
fld dword [esp + 0x24]
fld dword [esp + 0x24]
fcomp dword [0x635d60]
fnstsw ax
test ah, 1
je 0x54951f
fstp dword [esp + 0x58]
jmp 0x549529
fld dword [0x635d9c]
fstp dword [esp + 0x58]
jmp 0x549529
fstp st(0)
mov dword [esp + 0x58], 0x3f800000
mov ecx, 5
lea esi, [esp + 0x48]
lea edi, [esp + 0x14c]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x30]
lea ecx, [esp + 0x74]
call fcn.004892c0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x180], 3
call fcn.004ae1a0
test eax, eax
je 0x54957b
lea eax, [esp + 0x34]
lea ecx, [esp + 0x74]
push eax
push ecx
lea ecx, [esp + 0x44]
call fcn.004ae1e0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x160], edx
fld dword [esp + 0x160]
fcomp dword [0x635d9c]
fnstsw ax
test ah, 0x41
je 0x54959a
or dword [esp + 0x118], 0x400000
mov ecx, dword [esi + 0x34]
call fcn.00488030
lea ecx, [esp + 0x7c]
mov edi, eax
call fcn.004892c0
test edi, edi
mov byte [esp + 0x180], 4
je 0x5495c7
mov ecx, dword [esi + 0x34]
lea eax, [esp + 0x7c]
push eax
push edi
call fcn.00487ed0
push 0x40
call fcn.005e6f29
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
mov byte [esp + 0x180], 5
je 0x5495f3
push esi
mov ecx, eax
call fcn.0056ded0
mov edi, eax
xor esi, esi
mov dword [esp + 0x34], edi
jmp 0x5495fb
xor esi, esi
xor edi, edi
mov dword [esp + 0x34], edi
mov eax, dword [esp + 0x40]
mov edx, dword [edi]
push eax
mov ecx, edi
mov byte [esp + 0x184], 4
call dword [edx + 0x20]
mov edx, dword [edi]
lea eax, [esp + 0x74]
push eax
mov ecx, edi
call dword [edx + 0x24]
mov dword [esp + 0x110], edi
mov edx, dword [ebp]
lea eax, [esp + 0xfc]
mov ecx, ebp
push eax
call dword [edx + 8]
test eax, eax
je 0x549dd6
lea ecx, [esp + 0x6c]
call fcn.004892c0
lea ecx, [esp + 0x68]
mov byte [esp + 0x180], 6
call fcn.004892c0
lea ecx, [esp + 0x60]
mov byte [esp + 0x180], 7
call fcn.004892c0
lea ecx, [esp + 0x70]
mov byte [esp + 0x180], 8
call fcn.004892c0
push ecx
mov byte [esp + 0x184], 9
mov ecx, esp
mov dword [esp + 0x14], esp
push 0xffffffffffffffff
push 0x6ea078
call fcn.00489310
mov ecx, ebx
call fcn.004b03e0
cmp eax, esi
je 0x5496d9
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebx
call fcn.0053f5f0
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x184], 0xa
call fcn.004956f0
lea ecx, [esp + 0x10]
mov byte [esp + 0x180], 9
call fcn.004952e0
lea edx, [esp + 0x68]
mov ecx, ebp
push edx
push 1
call fcn.0056d8e0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0xffffffffffffffff
push 0x6ea1a0
call fcn.00489310
mov ecx, ebx
call fcn.004b03e0
cmp eax, esi
je 0x549734
lea eax, [esp + 0x10]
mov ecx, ebx
push eax
call fcn.00549e80
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x184], 0xb
call fcn.004956f0
lea ecx, [esp + 0x10]
mov byte [esp + 0x180], 9
call fcn.004952e0
lea ecx, [esp + 0x60]
push ecx
push 2
mov ecx, ebp
call fcn.0056d8e0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0xffffffffffffffff
push 0x6ea19c
call fcn.00489310
mov ecx, ebx
call fcn.004b03e0
cmp eax, esi
je 0x54978f
lea edx, [esp + 0x10]
mov ecx, ebx
push edx
call fcn.00549ec0
push eax
lea ecx, [esp + 0x74]
mov byte [esp + 0x184], 0xc
call fcn.004956f0
lea ecx, [esp + 0x10]
mov byte [esp + 0x180], 9
call fcn.004952e0
lea eax, [esp + 0x70]
mov ecx, ebp
push eax
push 3
call fcn.0056d8e0
push ecx
mov dword [esp + 0x7c], esi
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push 0x69b740
mov dword [esp + 0x70], esi
mov dword [esp + 0x1c], esi
call fcn.00489310
mov ecx, ebx
call fcn.004b03e0
cmp eax, esi
je 0x5497e4
push ecx
mov ecx, esp
mov dword [esp + 0x7c], esp
push 0xffffffffffffffff
push 0x69b740
call fcn.00489310
mov ecx, ebx
call fcn.004b0910
push eax
push 1
mov ecx, ebp
mov dword [esp + 0x80], eax
call fcn.0056d940
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push 0x6ea198
call fcn.00489310
mov ecx, ebx
call fcn.004b03e0
cmp eax, esi
je 0x54982a
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push 0xffffffffffffffff
push 0x6ea198
call fcn.00489310
mov ecx, ebx
call fcn.004b0910
push eax
push 2
mov ecx, ebp
mov dword [esp + 0x6c], eax
call fcn.0056d940
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push 0x6ea194
call fcn.00489310
mov ecx, ebx
call fcn.004b03e0
cmp eax, esi
je 0x549870
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0xffffffffffffffff
push 0x6ea194
call fcn.00489310
mov ecx, ebx
call fcn.004b0910
push eax
push 3
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.0056d940
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebx
call fcn.004b09c0
mov edx, dword [eax]
lea eax, [esp + 0xf8]
push eax
mov ecx, ebp
mov dword [esp + 0xfc], edx
call fcn.0056d990
lea ecx, [esp + 0xa8]
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
call fcn.004892c0
push 4
lea ecx, [esp + 0xb0]
mov byte [esp + 0x184], 0xd
call fcn.0048d690
mov ecx, dword [0x65d434]
mov byte [esp + 0x180], 0xe
mov dword [esp + 0xd0], ecx
mov edx, ecx
lea ecx, [esp + 0xe0]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
call fcn.004892c0
lea ecx, [esp + 0xe8]
mov byte [esp + 0x180], 0xf
call fcn.004892c0
push 0x6ea1a4
lea ecx, [esp + 0xac]
mov byte [esp + 0x184], 0x10
mov dword [esp + 0xa8], 0x3f800000
call fcn.004894e0
push 0xffffffffffffffff
push 0x68f3a0
lea ecx, [esp + 0x40]
call fcn.00489310
mov eax, dword [esp + 0xb0]
push 1
push eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0x188], 0x11
call fcn.0048d7f0
mov dword [esp + 0x2c], eax
mov dword [esp + 0xf4], eax
cmp eax, esi
mov byte [esp + 0x180], 0x12
je 0x5499c1
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call fcn.00489380
lea ecx, [esp + 0x38]
mov byte [esp + 0x180], 0x10
call fcn.004892e0
mov dword [esp + 0xc0], esi
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xec], esi
mov dword [esp + 0xf0], esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x180], 0x13
call fcn.004892c0
push 0xffffffffffffffff
push str.Text
lea ecx, [esp + 0x34]
mov byte [esp + 0x188], 0x14
call fcn.00489310
mov edx, dword [esp + 0xb0]
push 1
push edx
lea ecx, [esp + 0xb4]
mov byte [esp + 0x188], 0x15
call fcn.0048d7f0
mov dword [esp + 0xf4], eax
mov dword [esp + 0x28], eax
cmp eax, esi
mov byte [esp + 0x180], 0x16
je 0x549a5f
lea ecx, [esp + 0x2c]
push ecx
mov ecx, eax
call fcn.00489380
lea ecx, [esp + 0x2c]
mov byte [esp + 0x180], 0x14
call fcn.004892e0
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0xc4], 1
call fcn.00548a70
mov ecx, 6
mov esi, eax
lea edi, [esp + 0xc4]
lea eax, [esp + 0x84]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x30]
push eax
mov ecx, esi
call fcn.00548c70
mov ecx, dword [eax]
mov dword [esp + 0x94], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x98], edx
mov ecx, dword [eax + 8]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x40]
mov edx, dword [eax + 0xc]
lea eax, [esp + 0xe0]
push eax
push ecx
mov ecx, dword [esi + 0x34]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xe4], 1
call fcn.00487ed0
test eax, eax
jne 0x549b08
push str.ZiTi
lea ecx, [esp + 0xe4]
call fcn.004894e0
mov edx, dword [esp + 0x40]
mov eax, dword [ebp]
push 0
push 1
mov ecx, ebp
mov dword [esp + 0xec], edx
call dword [eax + 0xb4]
mov edx, dword [ebp]
lea eax, [esp + 0x14]
push eax
mov ecx, ebp
call dword [edx + 0x18]
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x14]
push ecx
mov dword [esp + 0xf4], ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6edc4c
call fcn.00489310
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x98]
push 0
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x18c], 0x14
lea esi, [edx + 0x10]
call fcn.00489400
push eax
push edi
mov ecx, esi
call fcn.005573e0
mov eax, dword [esp + 0x80]
cmp eax, 3
je 0x549bca
cmp eax, 4
je 0x549bca
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6edc4c
call fcn.00489310
push 1
mov ecx, esi
call fcn.00557c90
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6edc4c
call fcn.00489310
push 2
mov ecx, esi
call fcn.00557c90
jmp 0x549cd7
lea ecx, [esp + 0x60]
call fcn.00495320
test eax, eax
jne 0x549c13
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6ea198
call fcn.00489310
mov ecx, ebx
call fcn.004b03e0
test eax, eax
jne 0x549c13
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6edc4c
call fcn.00489310
push 1
mov ecx, esi
call fcn.00557c90
jmp 0x549c75
mov edx, dword [ebp]
push 0
push 2
mov ecx, ebp
call dword [edx + 0xb4]
mov eax, dword [ebp]
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebp
call dword [eax + 0x18]
mov edx, dword [esp + 0x64]
mov edi, dword [esp + 0x14]
push ecx
mov dword [esp + 0xf4], edx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6edc4c
call fcn.00489310
lea eax, [esp + 0x98]
push 1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x18c], 0x14
call fcn.00489400
push eax
push edi
mov ecx, esi
call fcn.005573e0
mov edx, dword [ebp]
push 0
push 3
mov ecx, ebp
call dword [edx + 0xb4]
mov eax, dword [ebp]
lea ecx, [esp + 0x14]
push ecx
mov ecx, ebp
call dword [eax + 0x18]
mov edx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
push ecx
mov dword [esp + 0xf4], edx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6edc4c
call fcn.00489310
lea eax, [esp + 0x98]
push 2
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x18c], 0x14
call fcn.00489400
push eax
push edi
mov ecx, esi
call fcn.005573e0
lea ecx, [esp + 0x14]
mov byte [esp + 0x180], 0x13
call fcn.004892e0
lea ecx, [esp + 0xe8]
mov byte [esp + 0x180], 0x1c
call fcn.004892e0
lea ecx, [esp + 0xe0]
mov byte [esp + 0x180], 0x1b
call fcn.004892e0
lea ecx, [esp + 0xac]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0xb0]
xor esi, esi
test eax, eax
mov byte [esp + 0x180], 0x1d
jle 0x549d54
mov ecx, esi
mov edx, dword [esp + 0xac]
imul ecx, dword [esp + 0xbc]
add ecx, edx
call fcn.004892e0
mov eax, dword [esp + 0xb0]
inc esi
cmp esi, eax
jl 0x549d30
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0xb4]
call fcn.0048d6c0
lea ecx, [esp + 0xac]
mov byte [esp + 0x180], 0x1a
call fcn.0048d6b0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x180], 9
call fcn.004892e0
lea ecx, [esp + 0x70]
mov byte [esp + 0x180], 8
call fcn.004952e0
lea ecx, [esp + 0x60]
mov byte [esp + 0x180], 7
call fcn.004952e0
lea ecx, [esp + 0x68]
mov byte [esp + 0x180], 6
call fcn.004952e0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x180], 4
call fcn.004952e0
mov edi, dword [esp + 0x34]
xor esi, esi
cmp ebp, esi
je 0x549de3
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
cmp edi, esi
je 0x549df0
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 0x3c]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x180], 3
call fcn.004892e0
lea ecx, [esp + 0x74]
mov byte [esp + 0x180], 2
call fcn.004892e0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x180], 0xffffffff
call fcn.004892e0
mov eax, 1
mov ecx, dword [esp + 0x178]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x174
ret