Function at 0x77cc40
Capabilities:
Access peb ldr_data
Get ntdll base address

Disassembly:
push ebp
mov ebp, esp
sub esp, 8
push 0x40baf6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x204
push ebx
push esi
push edi
mov dword [ebp - 8], esp
mov dword [ebp - 4], 0x40b4f0
xor edi, edi
lea eax, [ebp - 0x174]
push eax
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x70], edi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x90], edi
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xe0], edi
mov dword [ebp - 0xf0], edi
mov dword [ebp - 0x100], edi
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x120], edi
mov dword [ebp - 0x130], edi
mov dword [ebp - 0x140], edi
mov dword [ebp - 0x150], edi
mov dword [ebp - 0x160], edi
mov dword [ebp - 0x170], edi
mov dword [ebp - 0x188], edi
mov dword [ebp - 0x198], edi
mov dword [ebp - 0x1a8], edi
mov dword [ebp - 0x1b8], edi
mov dword [ebp - 0x174], edi
call fcn.006fb3f0
mov ecx, dword [0x78e7e8]
mov dword [ecx], 0x6468544d
mov edx, dword [0x78e7e8]
mov dword [edx + 4], edi
mov eax, dword [0x78e7e8]
mov dword [eax + 8], edi
mov ecx, dword [0x78e7e8]
mov dword [ecx + 0xc], edi
mov edx, dword [0x78e7e8]
mov dword [edx + 0x10], 6
mov eax, dword [0x78e7e8]
mov dword [eax + 0x14], edi
mov ecx, dword [0x78e7e8]
mov dword [ecx + 0x18], 1
mov edx, dword [0x78e7e8]
mov dword [edx + 0x1c], edi
mov eax, dword [0x78bbd4]
mov ecx, dword [0x78e7e8]
inc eax
mov dword [ecx + 0x20], eax
mov edx, dword [0x78e7e8]
mov dword [edx + 0x24], edi
mov eax, dword [0x78e7e8]
mov dword [eax + 0x28], 0xc0
mov ecx, dword [0x78e7e8]
mov dword [ecx + 0x2c], 0x6b72544d
mov edx, dword [0x78e7e8]
mov dword [edx + 0x30], edi
mov eax, dword [0x78e7e8]
mov dword [eax + 0x34], edi
mov ecx, dword [0x78e7e8]
mov dword [ecx + 0x38], edi
mov edx, dword [0x78e7e8]
mov dword [edx + 0x40], edi
mov eax, dword [0x78e7e8]
lea ecx, [ebp - 0x120]
push ecx
lea edx, [ebp - 0x80]
mov dword [eax + 0x44], 0x3ff
push edx
mov dword [ebp - 0x118], 0x78c398
mov dword [ebp - 0x120], 0x4008
call fcn.00652680
mov esi, dword [fcn.00401400]
lea eax, [ebp - 0x80]
push eax
call esi
mov ecx, dword [0x78e7e8]
mov ebx, dword [fcn.004010a8]
mov dword [ecx + 0x48], eax
lea ecx, [ebp - 0x80]
call ebx
mov edx, dword [0x78e7e8]
mov dword [edx + 0x4c], edi
mov eax, dword [0x78e7e8]
mov dword [eax + 0x50], 0x2ff
mov ecx, dword [0x78c394]
push ecx
push 0x45f494
call dword [0x401124]
lea edx, [ebp - 0x80]
mov dword [ebp - 0x78], eax
push edx
lea eax, [ebp - 0x90]
push eax
mov dword [ebp - 0x80], 8
call fcn.00652680
lea ecx, [ebp - 0x90]
push ecx
call esi
mov edx, dword [0x78e7e8]
mov dword [edx + 0x54], eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x80]
push ecx
push 2
call dword [fcn.004010d4]
mov edx, dword [0x78e7e8]
mov dword [edx + 0x58], edi
mov eax, dword [0x78e7e8]
add esp, 0xc
lea ecx, [ebp - 0x120]
push ecx
lea edx, [ebp - 0x80]
mov dword [eax + 0x5c], 0x1ff
push edx
mov dword [ebp - 0x118], 0x78c39c
mov dword [ebp - 0x120], 0x4008
call fcn.00652680
lea eax, [ebp - 0x80]
push eax
call esi
mov ecx, dword [0x78e7e8]
mov dword [ecx + 0x60], eax
lea ecx, [ebp - 0x80]
call ebx
mov edx, dword [0x78e7e8]
mov dword [edx + 0x64], edi
movsx eax, word [0x78c92c]
mov dword [0x78e84c], 0x19
mov dword [ebp - 0x1c0], eax
mov ebx, 1
cmp ebx, dword [ebp - 0x1c0]
mov dword [ebp - 0x14], ebx
jg 0x77cf90
mov edx, dword [0x78c918]
mov eax, 1
mov ecx, 0x50
cmp eax, ecx
jg 0x77cf70
inc dword [0x78e84c]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
add edx, ecx
mov dword [ebp - 0x1d8], ecx
xor ecx, ecx
cmp eax, 1
mov cl, byte [edx + ebx]
mov edx, dword [0x78e7e8]
mov ebx, dword [0x78e84c]
mov dword [edx + ebx*4], ecx
jne 0x77cf43
mov ecx, dword [0x78e84c]
inc ecx
mov dword [0x78e84c], ecx
mov dword [ebp - 0x30], ecx
mov edx, dword [0x78c918]
mov ecx, dword [ebp - 0x1d8]
mov ebx, dword [ebp - 0x14]
add ecx, edx
cmp byte [ecx + ebx], 0xf7
je 0x77cf63
mov ecx, 1
add eax, ecx
jmp 0x77cef7
mov edx, dword [0x78e7e8]
mov ecx, dword [ebp - 0x30]
dec eax
mov dword [edx + ecx*4], eax
mov eax, dword [0x78e84c]
mov edx, dword [0x78e7e8]
inc eax
mov dword [0x78e84c], eax
mov dword [edx + eax*4], edi
mov eax, 1
add ebx, eax
jmp 0x77cedd
mov eax, dword [0x78e84c]
mov ecx, dword [0x78e7e8]
mov ebx, dword [fcn.00401098]
inc eax
mov dword [0x78e84c], eax
mov dword [ecx + eax*4], 0x458ff
mov dl, byte [0x78bfbd]
mov byte [ebp - 0x118], dl
lea edx, [ebp - 0x120]
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x120], 0x11
call ebx
mov eax, 2
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x140], eax
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x130]
push ecx
lea edx, [ebp - 0x140]
push edx
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x188]
push ecx
lea edx, [ebp - 0x44]
push edx
mov dword [ebp - 0x118], 1
mov dword [ebp - 0x128], 6
mov dword [ebp - 0x138], edi
call dword [0x401188]
cmp eax, edi
je 0x77d0a2
mov eax, 2
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
push ecx
lea edx, [ebp - 0x80]
push edx
call dword [fcn.00401330]
mov edx, eax
lea ecx, [ebp - 0x58]
call ebx
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x120]
push ecx
mov dword [ebp - 0x118], 1
mov dword [ebp - 0x120], 0x8002
call dword [0x4011fc]
test ax, ax
jne 0x77d0a2
lea edx, [ebp - 0x198]
push edx
lea eax, [ebp - 0x188]
push eax
lea ecx, [ebp - 0x44]
push ecx
call dword [0x4014b8]
jmp 0x77d02d
xor edx, edx
mov dl, byte [0x78bfbd]
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x120], 5
mov dword [ebp - 0x1dc], edx
fild dword [ebp - 0x1dc]
lea edx, [ebp - 0x120]
fstp qword [ebp - 0x1e4]
fld qword [0x409018]
cmp dword [section..data], 0
jne 0x77d0e6
fdiv qword [ebp - 0x1e4]
jmp 0x77d0f7
push dword [ebp - 0x1e0]
push dword [ebp - 0x1e4]
call fcn.0040bb14
fstp qword [ebp - 0x118]
call ebx
mov ebx, dword [0x78e84c]
mov eax, 3
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x120], eax
mov al, byte [0x78bfbc]
lea ecx, [ebp - 0x130]
push ecx
lea edx, [ebp - 0x6c]
mov byte [ebp - 0x148], al
push edx
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x80]
inc ebx
push ecx
mov dword [0x78e84c], ebx
mov dword [ebp - 0x128], 0x8000000
mov dword [ebp - 0x118], 0x10000
mov dword [ebp - 0x138], 0x100
mov dword [ebp - 0x140], 2
mov dword [ebp - 0x150], 0x11
call dword [fcn.004012f0]
mov ebx, dword [fcn.0040141c]
push eax
lea edx, [ebp - 0x90]
push edx
call ebx
push eax
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0x140]
push ecx
lea edx, [ebp - 0xa0]
push edx
call dword [fcn.004012f0]
push eax
lea eax, [ebp - 0xb0]
push eax
call ebx
push eax
lea ecx, [ebp - 0x150]
push ecx
lea edx, [ebp - 0xc0]
push edx
call ebx
push eax
call esi
mov ecx, dword [0x78e84c]
mov edx, dword [0x78e7e8]
mov dword [edx + ecx*4], eax
lea eax, [ebp - 0xc0]
push eax
lea ecx, [ebp - 0xb0]
push ecx
lea edx, [ebp - 0x90]
push edx
push 3
call dword [fcn.004010d4]
mov eax, dword [0x78e84c]
mov ecx, dword [0x78e7e8]
add esp, 0x10
inc eax
mov dword [0x78e84c], eax
mov dword [ecx + eax*4], edi
mov eax, dword [0x78e84c]
mov edx, dword [0x78e7e8]
inc eax
mov dword [0x78e84c], eax
mov dword [edx + eax*4], 0x259ff
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], 2
call fcn.00665ea0
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x178], eax
call dword [fcn.004010a8]
cmp word [ebp - 0x178], di
je 0x77d27f
mov ecx, dword [0x78c730]
mov eax, dword [ecx + 0x5948]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0xc]
shl edx, 2
sub eax, edx
mov edx, dword [0x78c6c4]
mov ecx, dword [edx + 0x14]
mov eax, dword [eax + 4]
sub eax, ecx
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [edx + 0xc]
movsx edx, word [ecx + eax*4 + 0x98]
mov dword [ebp - 0x48], edx
lea eax, [ebp - 0x80]
push eax
mov dword [ebp - 0x78], edi
mov dword [ebp - 0x80], 2
call fcn.00665ea0
neg ax
lea ecx, [ebp - 0x80]
sbb eax, eax
inc eax
neg eax
mov dword [ebp - 0x178], eax
call dword [fcn.004010a8]
cmp word [ebp - 0x178], di
je 0x77d355
mov ecx, dword [0x78c6c4]
push ecx
lea edx, [ebp - 0x70]
push edx
call dword [0x401418]
mov eax, dword [0x78c730]
mov eax, dword [eax + 0x5948]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0xc]
shl ecx, 2
sub edx, ecx
mov eax, dword [edx + 4]
mov edx, dword [ebp - 0x70]
sub eax, dword [edx + 0x14]
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [edx + 0xc]
lea edx, [ecx + eax*4 + 0x9c]
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x80]
push ecx
mov dword [ebp - 0x118], edx
mov dword [ebp - 0x120], 0x4003
call fcn.006abfc0
lea edx, [ebp - 0x70]
push edx
call dword [0x4014b4]
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x90]
push ecx
call fcn.006ac290
lea edx, [ebp - 0x90]
push edx
call esi
mov dword [ebp - 0x48], eax
lea eax, [ebp - 0x90]
push eax
lea ecx, [ebp - 0x80]
push ecx
push 2
call dword [fcn.004010d4]
add esp, 0xc
mov eax, dword [ebp - 0x48]
cmp eax, edi
mov ecx, dword [0x78e84c]
jl 0x77d36b
inc ecx
mov dword [0x78e84c], ecx
jmp 0x77d377
inc ecx
mov dword [0x78e84c], ecx
add eax, 0x100
mov edx, dword [0x78e7e8]
mov dword [edx + ecx*4], eax
mov eax, dword [0x78e84c]
mov ecx, dword [0x78e7e8]
inc eax
mov dword [0x78e84c], eax
mov dword [ecx + eax*4], edi
mov eax, dword [0x78e84c]
mov edx, dword [0x78e7e8]
inc eax
mov dword [0x78e84c], eax
mov dword [edx + eax*4], edi
mov eax, dword [0x78e84c]
mov ecx, dword [0x78e7e8]
inc eax
mov dword [0x78e84c], eax
mov dword [ecx + eax*4], 0x351ff
inc dword [0x78e84c]
mov edx, dword [0x78bfc0]
shl edx, 0x10
mov dword [ebp - 0x1e8], edx
fild dword [ebp - 0x1e8]
fstp qword [ebp - 0x1f0]
fld qword [0x403f58]
cmp dword [section..data], 0
jne 0x77d3f8
fdiv qword [ebp - 0x1f0]
jmp 0x77d409
push dword [ebp - 0x1ec]
push dword [ebp - 0x1f0]
call fcn.0040bb14
call dword [0x401078]
mov ecx, dword [0x78e84c]
mov edx, dword [0x78e7e8]
mov dword [edx + ecx*4], eax
fild dword [0x78bfc0]
mov eax, dword [0x78e84c]
inc eax
fstp qword [ebp - 0x1f8]
mov dword [0x78e84c], eax
fld qword [0x403f58]
cmp dword [section..data], 0
jne 0x77d44c
fdiv qword [ebp - 0x1f8]
jmp 0x77d45d
push dword [ebp - 0x1f4]
push dword [ebp - 0x1f8]
call fcn.0040bb14
call dword [fcn.00401454]
and eax, 0x8000ffff
jns 0x77d471
dec eax
or eax, 0xffff0000
inc eax
mov dword [ebp - 0x1fc], eax
fild dword [ebp - 0x1fc]
fstp qword [ebp - 0x204]
fld qword [ebp - 0x204]
cmp dword [section..data], 0
jne 0x77d49a
fdiv qword [0x40b4e8]
jmp 0x77d4ab
push dword [0x40b4ec]
push dword [0x40b4e8]
call fcn.0040bb14
call dword [0x401078]
mov ecx, dword [0x78e84c]
mov edx, dword [0x78e7e8]
mov dword [edx + ecx*4], eax
fild dword [0x78bfc0]
mov edx, dword [0x78e84c]
inc edx
fstp qword [ebp - 0x20c]
mov dword [0x78e84c], edx
fld qword [0x403f58]
cmp dword [section..data], 0
jne 0x77d4f0
fdiv qword [ebp - 0x20c]
jmp 0x77d501
push dword [ebp - 0x208]
push dword [ebp - 0x20c]
call fcn.0040bb14
call dword [fcn.00401454]
and eax, 0x8000ffff
jns 0x77d515
dec eax
or eax, 0xffff0000
inc eax
and eax, 0x800000ff
jns 0x77d523
dec eax
or eax, 0xffffff00
inc eax
mov ecx, dword [0x78e84c]
mov edx, dword [0x78e7e8]
mov dword [edx + ecx*4], eax
mov eax, dword [0x78e84c]
mov ecx, dword [0x78e7e8]
inc eax
mov dword [0x78e84c], eax
mov dword [ecx + eax*4], 0x83
mov eax, dword [0x78e84c]
mov edx, dword [0x78e7e8]
inc eax
mov dword [0x78e84c], eax
mov dword [edx + eax*4], edi
mov eax, dword [0x78e84c]
mov ecx, dword [0x78e7e8]
inc eax
mov dword [0x78e84c], eax
mov dword [ecx + eax*4], 0x2fff
mov eax, dword [0x78e84c]
mov edx, dword [0x78e7e8]
inc eax
mov dword [0x78e84c], eax
mov dword [edx + eax*4], edi
mov eax, dword [0x78c394]
push eax
push 0x45f494
call dword [0x401124]
lea ecx, [ebp - 0x80]
push ecx
lea edx, [ebp - 0x90]
push edx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x80], 8
call fcn.00652680
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0xa0]
push ecx
mov dword [ebp - 0x118], 0x78c398
mov dword [ebp - 0x120], 0x4008
call fcn.00652680
lea edx, [ebp - 0x130]
push edx
lea eax, [ebp - 0xc0]
push eax
mov dword [ebp - 0x128], 0x78c39c
mov dword [ebp - 0x130], 0x4008
call fcn.00652680
mov ecx, dword [0x78e84c]
mov eax, 2
lea edx, [ebp - 0x90]
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x150], eax
mov dword [ebp - 0x170], eax
push edx
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x158], ecx
push eax
lea ecx, [ebp - 0xb0]
push ecx
mov dword [ebp - 0x138], 0x1a
mov dword [ebp - 0x148], 0xc
mov dword [ebp - 0x160], 3
mov dword [ebp - 0x168], 0x28
call ebx
push eax
lea edx, [ebp - 0xc0]
push edx
lea eax, [ebp - 0xd0]
push eax
call ebx
push eax
lea ecx, [ebp - 0x140]
push ecx
lea edx, [ebp - 0xe0]
push edx
call ebx
push eax
lea eax, [ebp - 0x150]
push eax
lea ecx, [ebp - 0xf0]
push ecx
call ebx
push eax
lea edx, [ebp - 0x160]
push edx
lea eax, [ebp - 0x100]
push eax
call ebx
push eax
lea ecx, [ebp - 0x170]
push ecx
lea edx, [ebp - 0x110]
push edx
call dword [fcn.00401080]
push eax
call esi
mov ebx, eax
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0xf0]
push ecx
lea edx, [ebp - 0xe0]
push edx
lea eax, [ebp - 0xd0]
push eax
lea ecx, [ebp - 0xc0]
push ecx
lea edx, [ebp - 0xb0]
push edx
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x90]
push ecx
lea edx, [ebp - 0x80]
push edx
push 9
mov dword [ebp - 0x5c], ebx
call dword [fcn.004010d4]
add esp, 0x28
cmp ebx, 0xff
jle 0x77d770
fild dword [ebp - 0x5c]
fstp qword [ebp - 0x214]
fld qword [ebp - 0x214]
cmp dword [section..data], 0
jne 0x77d735
fdiv qword [0x40b4e8]
jmp 0x77d746
push dword [0x40b4ec]
push dword [0x40b4e8]
call fcn.0040bb14
call dword [0x401078]
and ebx, 0x800000ff
mov ecx, dword [0x78e7e8]
mov dword [ecx + 0x38], eax
jns 0x77d765
dec ebx
or ebx, 0xffffff00
inc ebx
mov edx, dword [0x78e7e8]
mov dword [edx + 0x3c], ebx
jmp 0x77d778
mov eax, dword [0x78e7e8]
mov dword [eax + 0x3c], ebx
mov ecx, dword [0x78bbd4]
mov eax, 2
dec ecx
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x140], eax
lea edx, [ebp - 0x120]
push edx
mov dword [ebp - 0x128], ecx
lea eax, [ebp - 0x130]
push eax
lea ecx, [ebp - 0x140]
push ecx
lea edx, [ebp - 0x1b8]
push edx
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x24]
push ecx
mov dword [ebp - 0x118], 1
mov dword [ebp - 0x130], 3
mov dword [ebp - 0x138], edi
call dword [0x401188]
cmp eax, edi
je 0x77db82
lea edx, [ebp - 0x24]
push edx
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
sub ecx, ebx
imul ecx, dword [eax + 0x18]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4], 0x6b72544d
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
sub ecx, ebx
imul ecx, dword [eax + 0x18]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4 + 4], edi
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
sub ecx, ebx
imul ecx, dword [eax + 0x18]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4 + 8], edi
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
sub ecx, ebx
imul ecx, dword [eax + 0x18]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4 + 0xc], edi
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
sub ecx, ebx
imul ecx, dword [eax + 0x18]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4 + 0x10], edi
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
sub ecx, edx
imul ecx, dword [eax + 0x18]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
sub ecx, ebx
push eax
mov dword [edx + ecx*4 + 0x14], edi
call esi
mov ecx, dword [0x78bfb0]
mov ebx, dword [ecx + eax*4 + 8]
lea edx, [ebp - 0x24]
push edx
add ebx, 0xc0
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
sub ecx, dword [eax + 0x14]
imul ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4 + 0x18], ebx
call esi
mov edx, dword [0x78c730]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 0x5948]
mov ecx, dword [eax + 0x14]
lea edx, [ebp - 0x24]
shl ecx, 2
push edx
mov ebx, ecx
call esi
mov ecx, dword [0x78c730]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x5948]
mov eax, dword [edx + 0xc]
mov edx, dword [0x78c6c4]
mov ecx, dword [edx + 0x14]
sub eax, ebx
mov eax, dword [eax + 4]
sub eax, ecx
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [edx + 0xc]
lea edx, [ebp - 0x24]
xor ebx, ebx
mov bl, byte [ecx + eax*4 + 0x8e]
push edx
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
sub ecx, dword [eax + 0x14]
imul ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4 + 0x1c], ebx
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
sub ecx, edx
imul ecx, dword [eax + 0x18]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
sub ecx, ebx
push eax
mov dword [edx + ecx*4 + 0x20], edi
call esi
mov ecx, dword [0x78bfb0]
mov ebx, dword [ecx + eax*4 + 8]
lea edx, [ebp - 0x24]
push edx
add ebx, 0xb0
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
sub ecx, dword [eax + 0x14]
imul ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0xc]
mov dword [edx + ecx*4 + 0x24], ebx
lea eax, [ebp - 0x24]
push eax
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
sub ecx, ebx
imul ecx, dword [eax + 0x18]
sub ecx, edx
mov edx, dword [eax + 0xc]
mov dword [edx + ecx*4 + 0x28], 0xa
lea eax, [ebp - 0x120]
push eax
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x80]
push edx
mov dword [ebp - 0x118], 0x9c4
mov dword [ebp - 0x120], 2
call dword [fcn.0040141c]
push eax
call esi
mov ecx, dword [0x78c2ac]
fld dword [ecx + eax*4]
call dword [fcn.00401454]
lea edx, [ebp - 0x24]
push edx
mov ebx, eax
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
sub ecx, dword [eax + 0x14]
imul ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0xc]
mov dword [edx + ecx*4 + 0x2c], ebx
lea ecx, [ebp - 0x80]
call dword [fcn.004010a8]
lea eax, [ebp - 0x24]
push eax
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x1c]
sub ecx, edx
imul ecx, dword [eax + 0x18]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
sub ecx, ebx
push eax
mov dword [edx + ecx*4 + 0x30], edi
call esi
mov ecx, dword [0x78bfb0]
mov ebx, dword [ecx + eax*4 + 8]
lea edx, [ebp - 0x24]
push edx
add ebx, 0xb0
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
sub ecx, dword [eax + 0x14]
imul ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4 + 0x34], ebx
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
mov ebx, dword [eax + 0x14]
mov edx, dword [eax + 0x1c]
sub ecx, ebx
imul ecx, dword [eax + 0x18]
sub ecx, edx
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4 + 0x38], 7
call esi
mov edx, dword [0x78c730]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
mov eax, dword [edx + ecx*4 + 0x5948]
mov ecx, dword [eax + 0x14]
lea edx, [ebp - 0x24]
shl ecx, 2
push edx
mov ebx, ecx
call esi
mov ecx, dword [0x78c730]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*4 + 0x5948]
mov eax, dword [edx + 0xc]
mov edx, dword [0x78c6c4]
mov ecx, dword [edx + 0x14]
sub eax, ebx
mov eax, dword [eax + 4]
sub eax, ecx
lea ecx, [eax + eax*2]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov ecx, dword [edx + 0xc]
lea edx, [ebp - 0x24]
xor ebx, ebx
mov bl, byte [ecx + eax*4 + 0x92]
push edx
call esi
mov ecx, eax
mov eax, dword [0x78e7f4]
sub ecx, dword [eax + 0x14]
imul ecx, dword [eax + 0x18]
sub ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0xc]
lea eax, [ebp - 0x24]
push eax
mov dword [edx + ecx*4 + 0x3c], ebx
call esi
mov ecx, dword [0x78e808]
mov ebx, dword [ecx + eax*4]
lea edx, [ebp - 0x24]
push edx
add ebx, 0xf
call esi
mov ecx, dword [0x78e808]
mov dword [ecx + eax*4], ebx
lea edx, [ebp - 0x1b8]
push edx
lea eax, [ebp - 0x1a8]
push eax
lea ecx, [ebp - 0x24]
push ecx
call dword [0x4014b8]
jmp 0x77d7dd
wait
push 0x77dc2e
jmp 0x77dbe3
lea ecx, [ebp - 0x1b8]
push ecx
lea edx, [ebp - 0x1a8]
push edx
lea eax, [ebp - 0x198]
push eax
lea ecx, [ebp - 0x188]
push ecx
push 4
call dword [fcn.004010d4]
mov esi, dword [fcn.004010a8]
add esp, 0x14
lea ecx, [ebp - 0x24]
call esi
lea ecx, [ebp - 0x28]
call dword [fcn.004014c8]
lea ecx, [ebp - 0x44]
call esi
lea ecx, [ebp - 0x58]
call esi
lea ecx, [ebp - 0x6c]
call esi
ret