Function at 0x5491a0
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x628678
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 0x5491d5
xor eax, eax
jmp 0x54a24b
lea eax, [esp + 0x48]
mov ecx, esi
push eax
call fcn.00553690
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 0x549232
fld dword [esp + 0x8c]
fcomp dword [esp + 0x90]
fnstsw ax
test ah, 1
jne 0x549239
xor eax, eax
jmp 0x54a24b
mov ecx, esi
call fcn.00549070
mov ebx, eax
cmp ebx, ebp
jne 0x54924d
xor eax, eax
jmp 0x54a24b
mov ecx, esi
call fcn.00549050
cmp eax, ebp
jne 0x54925f
xor eax, eax
jmp 0x54a24b
mov ecx, ebx
call fcn.004b12b0
cmp eax, ebp
mov dword [esp + 0x40], eax
jne 0x5492ea
mov eax, dword [esi + 0xc]
push eax
call fcn.00486fb0
mov edi, eax
add esp, 4
cmp edi, ebp
mov dword [esp + 0x40], edi
jne 0x5492b0
push ecx
mov ecx, esp
mov dword [esp + 0x84], esp
push 0xffffffffffffffff
push 0x6906cc
call fcn.00489840
mov ecx, dword [esi + 0xc]
push ecx
call fcn.00487110
mov edi, eax
add esp, 8
cmp edi, ebp
mov dword [esp + 0x40], edi
je 0x5492ea
lea ecx, [esp + 0x38]
call fcn.004897f0
mov ecx, dword [esi + 0x34]
lea edx, [esp + 0x38]
push edx
push edi
mov dword [esp + 0x188], ebp
call fcn.00488440
push edi
mov ecx, ebx
call fcn.004b1390
lea ecx, [esp + 0x38]
mov dword [esp + 0x180], 0xffffffff
call fcn.00489810
push 0x110
call fcn.005e6fe9
add esp, 4
mov dword [esp + 0x6c], eax
cmp eax, ebp
mov dword [esp + 0x180], 1
je 0x549313
mov ecx, eax
call fcn.0056d5a0
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.00549090
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.004b09f0
cmp eax, 4
mov dword [esp + 0x80], eax
ja case.0x549454.1
jmp dword [eax*4 + 0x54a264]
mov edi, 0xc8000001
jmp 0x549475
mov edi, 0xc8000004
jmp 0x549475
mov edi, 0xc8000002
jmp 0x549475
mov edi, 0xc8000008
mov ecx, ebx
call fcn.004b10e0
dec eax
cmp eax, 5
ja case.default.0x549482
jmp dword [eax*4 + 0x54a278]
or edi, 0x20
jmp 0x5494b6
or edi, 0x40
jmp 0x5494b6
or edi, 0x80
jmp 0x5494b6
or edi, 0x100
jmp 0x5494b6
or edi, 0x200
jmp 0x5494b6
or edi, 0x400
jmp 0x5494b6
or edi, 0x10
push ecx
mov dword [esp + 0x11c], edi
mov ecx, esp
mov dword [esp + 0x38], esp
push 0xffffffffffffffff
push 0x6a22b0
call fcn.00489840
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x48]
push eax
push ecx
mov ecx, ebx
call fcn.004b0e00
mov eax, dword [esp + 0x44]
test eax, eax
jle 0x54960f
fld dword [esp + 0x18]
fcomp dword [0x635e2c]
mov dword [esp + 0x48], eax
fnstsw ax
test ah, 0x41
jne 0x54951d
fld dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x549529
fstp dword [esp + 0x4c]
jmp 0x549533
fld dword [0x635e2c]
fstp dword [esp + 0x4c]
jmp 0x549533
fstp st(0)
mov dword [esp + 0x4c], 0x3f800000
fld dword [esp + 0x1c]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
jne 0x54955f
fld dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x54956b
fstp dword [esp + 0x50]
jmp 0x549575
fld dword [0x635e2c]
fstp dword [esp + 0x50]
jmp 0x549575
fstp st(0)
mov dword [esp + 0x50], 0x3f800000
fld dword [esp + 0x20]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
jne 0x5495a1
fld dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x5495ad
fstp dword [esp + 0x54]
jmp 0x5495b7
fld dword [0x635e2c]
fstp dword [esp + 0x54]
jmp 0x5495b7
fstp st(0)
mov dword [esp + 0x54], 0x3f800000
fld dword [esp + 0x24]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
jne 0x5495e3
fld dword [esp + 0x24]
fld dword [esp + 0x24]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x5495ef
fstp dword [esp + 0x58]
jmp 0x5495f9
fld dword [0x635e2c]
fstp dword [esp + 0x58]
jmp 0x5495f9
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 0x69bdd0
call fcn.00489840
lea edx, [esp + 0x1c]
lea eax, [esp + 0x48]
push edx
push eax
mov ecx, ebx
call fcn.004b0e00
mov eax, dword [esp + 0x44]
test eax, eax
jle 0x549761
fld dword [esp + 0x18]
fcomp dword [0x635e2c]
mov dword [esp + 0x48], eax
fnstsw ax
test ah, 0x41
jne 0x54966f
fld dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x54967b
fstp dword [esp + 0x4c]
jmp 0x549685
fld dword [0x635e2c]
fstp dword [esp + 0x4c]
jmp 0x549685
fstp st(0)
mov dword [esp + 0x4c], 0x3f800000
fld dword [esp + 0x1c]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
jne 0x5496b1
fld dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x5496bd
fstp dword [esp + 0x50]
jmp 0x5496c7
fld dword [0x635e2c]
fstp dword [esp + 0x50]
jmp 0x5496c7
fstp st(0)
mov dword [esp + 0x50], 0x3f800000
fld dword [esp + 0x20]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
jne 0x5496f3
fld dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x5496ff
fstp dword [esp + 0x54]
jmp 0x549709
fld dword [0x635e2c]
fstp dword [esp + 0x54]
jmp 0x549709
fstp st(0)
mov dword [esp + 0x54], 0x3f800000
fld dword [esp + 0x24]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
jne 0x549735
fld dword [esp + 0x24]
fld dword [esp + 0x24]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x549741
fstp dword [esp + 0x58]
jmp 0x54974b
fld dword [0x635e2c]
fstp dword [esp + 0x58]
jmp 0x54974b
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.00553eb0
mov ecx, esi
mov dword [esp + 0x134], eax
call fcn.005547c0
dec eax
mov ecx, 3
cmp eax, ecx
mov edi, 2
ja case.default.0x549785
jmp dword [eax*4 + 0x54a290]
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 0x5497fe
mov ecx, dword [esp + 0x134]
mov dword [esp + 0x130], edi
lea edx, [ecx + ecx]
mov dword [esp + 0x134], edx
jmp 0x5497fe
mov eax, dword [esp + 0x134]
mov dword [esp + 0x130], ecx
lea ecx, [eax + eax]
mov dword [esp + 0x134], ecx
jmp 0x5497fe
mov dword [esp + 0x130], 4
jmp 0x5497fe
mov dword [esp + 0x130], 0
lea edx, [esp + 0x3c]
mov ecx, ebx
push edx
call fcn.004b1160
push 0
lea ecx, [esp + 0x40]
mov dword [esp + 0x184], edi
call fcn.00550d00
test eax, eax
je 0x54995f
lea eax, [esp + 0x18]
push 0
lea ecx, [esp + 0x48]
push eax
push ecx
lea ecx, [esp + 0x48]
call fcn.004af020
fld dword [esp + 0x18]
fcomp dword [0x635e2c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x48], edx
fnstsw ax
test ah, 0x41
jne 0x54986d
fld dword [esp + 0x18]
fld dword [esp + 0x18]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x549879
fstp dword [esp + 0x4c]
jmp 0x549883
fld dword [0x635e2c]
fstp dword [esp + 0x4c]
jmp 0x549883
fstp st(0)
mov dword [esp + 0x4c], 0x3f800000
fld dword [esp + 0x1c]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
jne 0x5498af
fld dword [esp + 0x1c]
fld dword [esp + 0x1c]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x5498bb
fstp dword [esp + 0x50]
jmp 0x5498c5
fld dword [0x635e2c]
fstp dword [esp + 0x50]
jmp 0x5498c5
fstp st(0)
mov dword [esp + 0x50], 0x3f800000
fld dword [esp + 0x20]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
jne 0x5498f1
fld dword [esp + 0x20]
fld dword [esp + 0x20]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x5498fd
fstp dword [esp + 0x54]
jmp 0x549907
fld dword [0x635e2c]
fstp dword [esp + 0x54]
jmp 0x549907
fstp st(0)
mov dword [esp + 0x54], 0x3f800000
fld dword [esp + 0x24]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
jne 0x549933
fld dword [esp + 0x24]
fld dword [esp + 0x24]
fcomp dword [0x635df0]
fnstsw ax
test ah, 1
je 0x54993f
fstp dword [esp + 0x58]
jmp 0x549949
fld dword [0x635e2c]
fstp dword [esp + 0x58]
jmp 0x549949
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.004897f0
lea ecx, [esp + 0x3c]
mov byte [esp + 0x180], 3
call fcn.004ae870
test eax, eax
je 0x54999b
lea eax, [esp + 0x34]
lea ecx, [esp + 0x74]
push eax
push ecx
lea ecx, [esp + 0x44]
call fcn.004ae8b0
mov edx, dword [esp + 0x34]
mov dword [esp + 0x160], edx
fld dword [esp + 0x160]
fcomp dword [0x635e2c]
fnstsw ax
test ah, 0x41
je 0x5499ba
or dword [esp + 0x118], 0x400000
mov ecx, dword [esi + 0x34]
call fcn.00488560
lea ecx, [esp + 0x7c]
mov edi, eax
call fcn.004897f0
test edi, edi
mov byte [esp + 0x180], 4
je 0x5499e7
mov ecx, dword [esi + 0x34]
lea eax, [esp + 0x7c]
push eax
push edi
call fcn.00488420
push 0x40
call fcn.005e6fe9
add esp, 4
mov dword [esp + 0x6c], eax
test eax, eax
mov byte [esp + 0x180], 5
je 0x549a13
push esi
mov ecx, eax
call fcn.0056e090
mov edi, eax
xor esi, esi
mov dword [esp + 0x34], edi
jmp 0x549a1b
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 0x54a1f6
lea ecx, [esp + 0x6c]
call fcn.004897f0
lea ecx, [esp + 0x68]
mov byte [esp + 0x180], 6
call fcn.004897f0
lea ecx, [esp + 0x60]
mov byte [esp + 0x180], 7
call fcn.004897f0
lea ecx, [esp + 0x70]
mov byte [esp + 0x180], 8
call fcn.004897f0
push ecx
mov byte [esp + 0x184], 9
mov ecx, esp
mov dword [esp + 0x14], esp
push 0xffffffffffffffff
push 0x6e4b50
call fcn.00489840
mov ecx, ebx
call fcn.004b0ab0
cmp eax, esi
je 0x549af9
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebx
call fcn.0053fa30
push eax
lea ecx, [esp + 0x6c]
mov byte [esp + 0x184], 0xa
call fcn.00495d60
lea ecx, [esp + 0x10]
mov byte [esp + 0x180], 9
call fcn.00495920
lea edx, [esp + 0x68]
mov ecx, ebp
push edx
push 1
call fcn.0056daa0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0xffffffffffffffff
push 0x6e4c78
call fcn.00489840
mov ecx, ebx
call fcn.004b0ab0
cmp eax, esi
je 0x549b54
lea eax, [esp + 0x10]
mov ecx, ebx
push eax
call fcn.0054a2a0
push eax
lea ecx, [esp + 0x64]
mov byte [esp + 0x184], 0xb
call fcn.00495d60
lea ecx, [esp + 0x10]
mov byte [esp + 0x180], 9
call fcn.00495920
lea ecx, [esp + 0x60]
push ecx
push 2
mov ecx, ebp
call fcn.0056daa0
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0xffffffffffffffff
push 0x6e4c74
call fcn.00489840
mov ecx, ebx
call fcn.004b0ab0
cmp eax, esi
je 0x549baf
lea edx, [esp + 0x10]
mov ecx, ebx
push edx
call fcn.0054a2e0
push eax
lea ecx, [esp + 0x74]
mov byte [esp + 0x184], 0xc
call fcn.00495d60
lea ecx, [esp + 0x10]
mov byte [esp + 0x180], 9
call fcn.00495920
lea eax, [esp + 0x70]
mov ecx, ebp
push eax
push 3
call fcn.0056daa0
push ecx
mov dword [esp + 0x7c], esi
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push 0x69b730
mov dword [esp + 0x70], esi
mov dword [esp + 0x1c], esi
call fcn.00489840
mov ecx, ebx
call fcn.004b0ab0
cmp eax, esi
je 0x549c04
push ecx
mov ecx, esp
mov dword [esp + 0x7c], esp
push 0xffffffffffffffff
push 0x69b730
call fcn.00489840
mov ecx, ebx
call fcn.004b0fe0
push eax
push 1
mov ecx, ebp
mov dword [esp + 0x80], eax
call fcn.0056db00
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push 0x6e4c70
call fcn.00489840
mov ecx, ebx
call fcn.004b0ab0
cmp eax, esi
je 0x549c4a
push ecx
mov ecx, esp
mov dword [esp + 0x68], esp
push 0xffffffffffffffff
push 0x6e4c70
call fcn.00489840
mov ecx, ebx
call fcn.004b0fe0
push eax
push 2
mov ecx, ebp
mov dword [esp + 0x6c], eax
call fcn.0056db00
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xffffffffffffffff
push 0x6e4c6c
call fcn.00489840
mov ecx, ebx
call fcn.004b0ab0
cmp eax, esi
je 0x549c90
push ecx
mov ecx, esp
mov dword [esp + 0x14], esp
push 0xffffffffffffffff
push 0x6e4c6c
call fcn.00489840
mov ecx, ebx
call fcn.004b0fe0
push eax
push 3
mov ecx, ebp
mov dword [esp + 0x18], eax
call fcn.0056db00
lea ecx, [esp + 0x2c]
push ecx
mov ecx, ebx
call fcn.004b1090
mov edx, dword [eax]
lea eax, [esp + 0xf8]
push eax
mov ecx, ebp
mov dword [esp + 0xfc], edx
call fcn.0056db50
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.004897f0
push 4
lea ecx, [esp + 0xb0]
mov byte [esp + 0x184], 0xd
call fcn.0048dba0
mov ecx, dword [0x65d4cc]
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.004897f0
lea ecx, [esp + 0xe8]
mov byte [esp + 0x180], 0xf
call fcn.004897f0
push 0x6e4c7c
lea ecx, [esp + 0xac]
mov byte [esp + 0x184], 0x10
mov dword [esp + 0xa8], 0x3f800000
call fcn.00489a10
push 0xffffffffffffffff
push 0x68f3a0
lea ecx, [esp + 0x40]
call fcn.00489840
mov eax, dword [esp + 0xb0]
push 1
push eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0x188], 0x11
call fcn.0048dd00
mov dword [esp + 0x2c], eax
mov dword [esp + 0xf4], eax
cmp eax, esi
mov byte [esp + 0x180], 0x12
je 0x549de1
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
call fcn.004898b0
lea ecx, [esp + 0x38]
mov byte [esp + 0x180], 0x10
call fcn.00489810
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.004897f0
push 0xffffffffffffffff
push 0x690734
lea ecx, [esp + 0x34]
mov byte [esp + 0x188], 0x14
call fcn.00489840
mov edx, dword [esp + 0xb0]
push 1
push edx
lea ecx, [esp + 0xb4]
mov byte [esp + 0x188], 0x15
call fcn.0048dd00
mov dword [esp + 0xf4], eax
mov dword [esp + 0x28], eax
cmp eax, esi
mov byte [esp + 0x180], 0x16
je 0x549e7f
lea ecx, [esp + 0x2c]
push ecx
mov ecx, eax
call fcn.004898b0
lea ecx, [esp + 0x2c]
mov byte [esp + 0x180], 0x14
call fcn.00489810
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0xc4], 1
call fcn.00548e90
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.00549090
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.00488420
test eax, eax
jne 0x549f28
push 0x69b67c
lea ecx, [esp + 0xe4]
call fcn.00489a10
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 0x6e8734
call fcn.00489840
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.00489930
push eax
push edi
mov ecx, esi
call fcn.005577a0
mov eax, dword [esp + 0x80]
cmp eax, 3
je 0x549fea
cmp eax, 4
je 0x549fea
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6e8734
call fcn.00489840
push 1
mov ecx, esi
call fcn.00558050
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6e8734
call fcn.00489840
push 2
mov ecx, esi
call fcn.00558050
jmp 0x54a0f7
lea ecx, [esp + 0x60]
call fcn.00495960
test eax, eax
jne 0x54a033
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6e4c70
call fcn.00489840
mov ecx, ebx
call fcn.004b0ab0
test eax, eax
jne 0x54a033
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push 0xffffffffffffffff
push 0x6e8734
call fcn.00489840
push 1
mov ecx, esi
call fcn.00558050
jmp 0x54a095
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 0x6e8734
call fcn.00489840
lea eax, [esp + 0x98]
push 1
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x18c], 0x14
call fcn.00489930
push eax
push edi
mov ecx, esi
call fcn.005577a0
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 0x6e8734
call fcn.00489840
lea eax, [esp + 0x98]
push 2
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x18c], 0x14
call fcn.00489930
push eax
push edi
mov ecx, esi
call fcn.005577a0
lea ecx, [esp + 0x14]
mov byte [esp + 0x180], 0x13
call fcn.00489810
lea ecx, [esp + 0xe8]
mov byte [esp + 0x180], 0x1c
call fcn.00489810
lea ecx, [esp + 0xe0]
mov byte [esp + 0x180], 0x1b
call fcn.00489810
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 0x54a174
mov ecx, esi
mov edx, dword [esp + 0xac]
imul ecx, dword [esp + 0xbc]
add ecx, edx
call fcn.00489810
mov eax, dword [esp + 0xb0]
inc esi
cmp esi, eax
jl 0x54a150
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0xb4]
call fcn.0048dbd0
lea ecx, [esp + 0xac]
mov byte [esp + 0x180], 0x1a
call fcn.0048dbc0
lea ecx, [esp + 0xa8]
mov byte [esp + 0x180], 9
call fcn.00489810
lea ecx, [esp + 0x70]
mov byte [esp + 0x180], 8
call fcn.00495920
lea ecx, [esp + 0x60]
mov byte [esp + 0x180], 7
call fcn.00495920
lea ecx, [esp + 0x68]
mov byte [esp + 0x180], 6
call fcn.00495920
lea ecx, [esp + 0x6c]
mov byte [esp + 0x180], 4
call fcn.00495920
mov edi, dword [esp + 0x34]
xor esi, esi
cmp ebp, esi
je 0x54a203
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx]
cmp edi, esi
je 0x54a210
mov eax, dword [edi]
push 1
mov ecx, edi
call dword [eax + 0x3c]
lea ecx, [esp + 0x7c]
mov byte [esp + 0x180], 3
call fcn.00489810
lea ecx, [esp + 0x74]
mov byte [esp + 0x180], 2
call fcn.00489810
lea ecx, [esp + 0x3c]
mov dword [esp + 0x180], 0xffffffff
call fcn.00489810
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