Function at 0x545d3c
Capabilities:
Get number of processors

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x21
push 0
push 0
dec ecx
jne 0x545d44
push ecx
push ebx
push esi
push edi
mov dword [ebp - 4], eax
xor eax, eax
push ebp
push 0x547473
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
call fcn.005477c8
mov eax, dword [ebp - 4]
fld qword [eax + 0x51f8]
fcomp dword [0x547484]
fnstsw ax
sahf
jne 0x545d91
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x51f8], edx
mov dword [eax + 0x51fc], 0x40240000
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], 0
je 0x54742d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x3c], 0
je 0x54742d
mov eax, dword [ebp - 4]
cmp dword [eax + 0x40], 0
jle 0x545e01
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x40]
dec ebx
test ebx, ebx
jl 0x545dde
inc ebx
mov dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
call fcn.00403ef0
inc dword [ebp - 8]
dec ebx
jne 0x545dc7
push 0
mov eax, dword [ebp - 4]
add eax, 0x44
mov ecx, 1
mov edx, dword [0x5458f0]
call fcn.004061e8
add esp, 4
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x40], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x78], 0
je 0x545fa4
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x46c0f8]
call fcn.00472674
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x46c0f8]
call fcn.004040a0
mov esi, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x70]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x48]
add edx, 0x1e
mov eax, esi
call fcn.0047ea50
xor edx, edx
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x4c]
mov eax, esi
call fcn.0047ea74
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x50]
mov eax, dword [ebp - 4]
sub edx, dword [eax + 0x48]
sub edx, 0x1e
mov eax, esi
call fcn.0047ea9c
mov eax, dword [esi + 0x68]
mov edx, 0x547490
call fcn.0042a548
mov eax, dword [esi + 0x68]
mov edx, 0x14
call fcn.0042a5c0
mov eax, dword [esi + 0x68]
mov dl, byte [0x547498]
call fcn.0042a5ec
mov eax, dword [esi + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fmul dword [0x54749c]
call fcn.00402dfc
mov edx, eax
mov eax, esi
call fcn.0047eac0
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x78]
mov eax, esi
call fcn.0047f338
mov dl, 2
mov eax, esi
call fcn.00472a78
mov dl, 1
mov eax, esi
call fcn.00472aec
mov eax, dword [ebx + 0x4c]
mov edx, dword [ebp - 4]
add dword [edx + 0x4c], eax
lea edx, [ebp - 0x58]
mov eax, esi
call fcn.0047f308
mov eax, dword [ebp - 0x58]
call fcn.00404f40
mov ebx, eax
mov eax, dword [esi + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
imul ebx, eax
mov dword [ebp - 0x54], ebx
fild dword [ebp - 0x54]
fdiv dword [0x5474a0]
call fcn.00402dfc
push edx
push eax
mov eax, dword [esi + 0x48]
cdq
cmp edx, dword [esp + 4]
jne 0x545f45
cmp eax, dword [esp]
pop edx
pop eax
jae 0x545fa4
jmp 0x545f49
pop edx
pop eax
jge 0x545fa4
lea edx, [ebp - 0x5c]
mov eax, esi
call fcn.0047f308
mov eax, dword [ebp - 0x5c]
call fcn.00404f40
mov ebx, eax
mov eax, dword [esi + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
imul ebx, eax
mov dword [ebp - 0x54], ebx
fild dword [ebp - 0x54]
fdiv dword [0x5474a0]
fild dword [esi + 0x48]
fdivrp st(1)
fstp xword [ebp - 0x68]
wait
mov eax, dword [esi + 0x68]
call fcn.0042a500
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fld xword [ebp - 0x68]
fmulp st(1)
call fcn.00402dfc
mov edx, eax
mov eax, dword [esi + 0x68]
call fcn.0042a508
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
sub eax, 0x1e
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cdq
idiv ecx
mov edx, dword [ebp - 4]
imul dword [edx + 0x3c]
mov edx, dword [ebp - 4]
add eax, dword [edx + 0x48]
add eax, 0x1e
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
xor eax, eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
add eax, 0x1e
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x546210
fld qword [ebp - 0x28]
mov eax, dword [ebp - 4]
fadd qword [eax + 0x5200]
fstp qword [ebp - 0x28]
wait
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x4c]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fmul qword [ebp - 0x28]
mov eax, dword [ebp - 4]
fdiv qword [eax + 0x51f8]
call fcn.00402dfc
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x54]
sub edx, eax
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 8], 0
jne 0x546079
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x4c]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
mov eax, dword [ebp - 4]
fmul qword [eax + 0x5200]
mov eax, dword [ebp - 4]
fdiv qword [eax + 0x51f8]
call fcn.00402dfc
mov dword [ebp - 0x1c], eax
jmp 0x546082
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x14]
mov dword [ebp - 0x1c], eax
lea ecx, [ebp - 0x74]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.0041ccf4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x7c]
mov edx, dword [ebp - 0x14]
add edx, dword [ebp - 0x1c]
inc edx
mov eax, dword [ebp - 0x10]
add eax, dword [ebp - 0x18]
inc eax
sub eax, 0x1e
call fcn.0041ccf4
lea eax, [ebp - 0x7c]
push eax
push 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x552638]
call fcn.00556f14
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x552638]
call fcn.004040a0
mov dword [eax + 0xc], 1
mov dword [eax + 0x184], 0xc0c0c0
mov edx, dword [ebp - 4]
mov dword [eax + 0x12c], edx
mov dword [eax + 0x128], 0x547704
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x46c0f8]
call fcn.00472674
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x46c0f8]
call fcn.004040a0
mov ebx, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x70]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov dl, 1
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov edx, dword [ebp - 0x10]
sub edx, 0x1e
mov eax, ebx
call fcn.0047ea50
mov edx, dword [ebp - 0x14]
mov eax, ebx
call fcn.0047ea74
mov edx, 0x1e
mov eax, ebx
call fcn.0047ea9c
mov eax, dword [ebx + 0x68]
mov edx, 0x547490
call fcn.0042a548
mov eax, dword [ebx + 0x68]
mov edx, 9
call fcn.0042a5c0
mov eax, dword [ebx + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
mov edx, eax
add edx, edx
mov eax, ebx
call fcn.0047eac0
fld qword [ebp - 0x28]
mov eax, dword [ebp - 4]
fadd qword [eax + 0x51f0]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x80]
call fcn.0040ba80
mov edx, dword [ebp - 0x80]
mov eax, ebx
call fcn.0047f338
mov dl, 1
mov eax, ebx
call fcn.00472a78
mov dl, 1
mov eax, ebx
call fcn.00472aec
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x48]
add edx, 0x1e
sub edx, 5
sub edx, dword [ebx + 0x48]
mov eax, ebx
call fcn.0047ea50
mov eax, dword [ebx + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
sar eax, 1
jns 0x5461fb
adc eax, 0
mov edx, dword [ebx + 0x44]
sub edx, eax
mov eax, ebx
call fcn.0047ea74
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x34], eax
inc dword [ebp - 8]
fld qword [ebp - 0x28]
mov eax, dword [ebp - 4]
fcomp qword [eax + 0x51f8]
fnstsw ax
sahf
jb 0x545ff8
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x46c0f8]
call fcn.00472674
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x46c0f8]
call fcn.004040a0
mov ebx, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x70]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov dl, 1
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov edx, dword [ebp - 0x10]
sub edx, 0x1e
mov eax, ebx
call fcn.0047ea50
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x54]
mov eax, ebx
call fcn.0047ea74
mov edx, 0x1e
mov eax, ebx
call fcn.0047ea9c
mov eax, dword [ebx + 0x68]
mov edx, 0x547490
call fcn.0042a548
mov eax, dword [ebx + 0x68]
mov edx, 9
call fcn.0042a5c0
mov eax, dword [ebx + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
mov edx, eax
add edx, edx
mov eax, ebx
call fcn.0047eac0
mov eax, dword [ebp - 4]
fld qword [eax + 0x51f0]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0x84]
call fcn.0040ba80
mov edx, dword [ebp - 0x84]
mov eax, ebx
call fcn.0047f338
mov dl, 1
mov eax, ebx
call fcn.00472a78
mov dl, 1
mov eax, ebx
call fcn.00472aec
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x48]
add edx, 0x1e
sub edx, 5
sub edx, dword [ebx + 0x48]
mov eax, ebx
call fcn.0047ea50
mov eax, dword [ebx + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
sar eax, 1
jns 0x546324
adc eax, 0
mov edx, dword [ebx + 0x44]
sub edx, eax
mov eax, ebx
call fcn.0047ea74
lea ecx, [ebp - 0x74]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.0041ccf4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x7c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x54]
inc edx
mov eax, dword [ebp - 0x10]
add eax, 2
call fcn.0041ccf4
lea eax, [ebp - 0x7c]
push eax
push 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x552638]
call fcn.00556f14
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x552638]
call fcn.004040a0
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov dword [eax + 0xc], 1
mov eax, dword [ebp - 0x40]
xor edx, edx
mov dword [eax + 0x184], edx
push 0x5474ac
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x30]
call fcn.004829c0
lea edx, [ebp - 0x8c]
call fcn.00409afc
push dword [ebp - 0x8c]
push 0x5474bc
lea edx, [ebp - 0x90]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00409afc
push dword [ebp - 0x90]
push 0x5474bc
lea edx, [ebp - 0x94]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00409afc
push dword [ebp - 0x94]
lea eax, [ebp - 0x88]
mov edx, 6
call fcn.00405000
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x40]
mov ecx, dword [eax]
call dword [ecx + 0x18]
lea ecx, [ebp - 0x74]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x10]
call fcn.0041ccf4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x7c]
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x54]
add edx, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
inc eax
call fcn.0041ccf4
lea eax, [ebp - 0x7c]
push eax
push 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x552638]
call fcn.00556f14
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x552638]
call fcn.004040a0
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
mov dword [eax + 0xc], 1
mov eax, dword [ebp - 0x44]
xor edx, edx
mov dword [eax + 0x184], edx
push 0x5474ac
mov eax, dword [ebp - 0x44]
mov eax, dword [eax + 0x30]
call fcn.004829c0
lea edx, [ebp - 0x9c]
call fcn.00409afc
push dword [ebp - 0x9c]
push 0x5474bc
lea edx, [ebp - 0xa0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00409afc
push dword [ebp - 0xa0]
push 0x5474bc
lea edx, [ebp - 0xa4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00409afc
push dword [ebp - 0xa4]
lea eax, [ebp - 0x98]
mov edx, 6
call fcn.00405000
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x44]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
add eax, 0x1e
mov dword [ebp - 0x10], eax
xor eax, eax
mov dword [ebp - 8], eax
xor eax, eax
mov dword [ebp - 0x20], eax
jmp 0x547104
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
sub eax, 0x1e
cdq
idiv ecx
add dword [ebp - 0x10], eax
dec ecx
cmp ecx, dword [ebp - 8]
jne 0x54654c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov dword [ebp - 0x10], eax
lea ecx, [ebp - 0x74]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.0041ccf4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x7c]
mov edx, dword [ebp - 0x14]
sub edx, 4
mov eax, dword [ebp - 0x10]
inc eax
call fcn.0041ccf4
lea eax, [ebp - 0x7c]
push eax
push 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x552638]
call fcn.00556f14
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x552638]
call fcn.004040a0
mov dword [eax + 0xc], 1
xor edx, edx
mov dword [eax + 0x184], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x46c0f8]
call fcn.00472674
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x46c0f8]
call fcn.004040a0
mov ebx, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x70]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
xor edx, edx
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
sub eax, 0x1e
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cdq
idiv ecx
mov edx, dword [ebp - 0x10]
sub edx, eax
mov eax, ebx
call fcn.0047ea50
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x54]
add edx, 5
mov eax, ebx
call fcn.0047ea74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
sub eax, 0x1e
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cdq
idiv ecx
mov edx, eax
mov eax, ebx
call fcn.0047ea9c
mov eax, dword [ebx + 0x68]
mov edx, 0x547490
call fcn.0042a548
mov eax, dword [ebx + 0x68]
mov edx, 9
call fcn.0042a5c0
mov eax, dword [ebx + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
mov edx, eax
add edx, edx
mov eax, ebx
call fcn.0047eac0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x51cc]
mov edx, dword [ebp - 8]
mov edx, dword [eax + edx*4]
mov eax, ebx
call fcn.0047f338
mov dl, 2
mov eax, ebx
call fcn.00472a78
mov dl, 1
mov eax, ebx
call fcn.00472aec
cmp dword [ebp - 8], 0
jne 0x546717
cmp dword [ebp - 0x20], 0
jne 0x546717
mov eax, dword [ebx + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
sar eax, 1
jns 0x5466c2
adc eax, 0
mov edx, dword [ebp - 4]
imul dword [edx + 0x51d4]
cmp eax, dword [ebx + 0x48]
jle 0x546717
mov eax, dword [ebx + 0x68]
call fcn.0042a500
cdq
xor eax, edx
sub eax, edx
sar eax, 1
jns 0x5466e4
adc eax, 0
mov edx, dword [ebp - 4]
imul dword [edx + 0x51d4]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
fild dword [ebx + 0x48]
fdivrp st(1)
fstp xword [ebp - 0x68]
wait
mov eax, dword [ebx + 0x68]
call fcn.0042a500
mov dword [ebp - 0x6c], eax
fild dword [ebp - 0x6c]
fld xword [ebp - 0x68]
fmulp st(1)
call fcn.00402dfc
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x546728
mov eax, dword [ebx + 0x68]
mov edx, dword [ebp - 0x20]
call fcn.0042a508
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, 0x5474c8
call fcn.0040508c
jne 0x546a91
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
sub eax, 0x1e
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cdq
idiv ecx
mov edx, dword [ebp - 0x10]
sub edx, eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
sub eax, 0x1e
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cdq
idiv ecx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
inc edx
mov ecx, edx
cdq
idiv ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
sar eax, 1
jns 0x546794
adc eax, 0
add dword [ebp - 0x2c], eax
jmp 0x546a7c
lea ecx, [ebp - 0x74]
mov edx, dword [ebp - 0x14]
inc edx
mov eax, dword [ebp - 0x2c]
call fcn.0041ccf4
lea eax, [ebp - 0x74]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x4c]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
imul eax, dword [ebp - 0xc], 0x33
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 8]
fmul qword [eax + edx*8 + 0x80]
mov eax, dword [ebp - 4]
fdiv qword [eax + 0x51f8]
call fcn.00402dfc
mov edx, dword [ebp - 0x14]
sub edx, eax
lea ecx, [ebp - 0x7c]
mov eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x30]
inc eax
call fcn.0041ccf4
lea eax, [ebp - 0x7c]
push eax
push 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x552638]
call fcn.00556f14
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x552638]
call fcn.004040a0
mov esi, eax
lea eax, [esi + 0x80]
mov edx, 0x5474d4
call fcn.00404cd4
mov dword [esi + 0xc], 1
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x67f098]
mov dword [esi + 0x184], eax
push 0x5474ac
mov eax, dword [esi + 0x30]
call fcn.004829c0
lea edx, [ebp - 0xac]
call fcn.00409afc
push dword [ebp - 0xac]
push 0x5474bc
lea edx, [ebp - 0xb0]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00409afc
push dword [ebp - 0xb0]
push 0x5474bc
lea edx, [ebp - 0xb4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00409afc
push dword [ebp - 0xb4]
lea eax, [ebp - 0xa8]
mov edx, 6
call fcn.00405000
mov edx, dword [ebp - 0xa8]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 4]
mov dword [esi + 0x124], eax
mov dword [esi + 0x120], 0x547734
mov eax, dword [ebp - 4]
mov dword [esi + 0x12c], eax
mov dword [esi + 0x128], 0x547788
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5208]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
mov dword [esi + 0x178], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
mov dword [esi + 0x17c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x74], 1
jne 0x546947
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5208]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
mov dword [esi + 0x178], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520c]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
mov dword [esi + 0x17c], eax
mov dx, 0xffeb
mov eax, esi
call fcn.0047f514
mov edi, dword [ebx + 0x48]
mov esi, ebx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x46c0f8]
call fcn.00472674
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x46c0f8]
call fcn.004040a0
mov ebx, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x70]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x68]
xor edx, edx
mov eax, ebx
call fcn.0047f228
xor edx, edx
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.0047ea50
mov edx, dword [esi + 0x44]
sub edx, 0xc
mov eax, ebx
call fcn.0047ea74
mov edx, edi
mov eax, ebx
call fcn.0047ea9c
mov eax, dword [ebx + 0x68]
mov edx, 0x547490
call fcn.0042a548
mov eax, dword [ebx + 0x68]
mov edx, 9
call fcn.0042a5c0
cmp dword [ebp - 0x20], 0
jge 0x5469ee
mov eax, dword [ebx + 0x68]
mov edx, dword [ebp - 0x20]
call fcn.0042a508
imul eax, dword [ebp - 0xc], 0x33
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 8]
fld qword [eax + edx*8 + 0x80]
add esp, 0xfffffff4
fstp xword [esp]
wait
lea eax, [ebp - 0xb8]
call fcn.0040ba80
mov edx, dword [ebp - 0xb8]
mov eax, ebx
call fcn.0047f338
mov dl, 2
mov eax, ebx
call fcn.00472a78
mov dl, 1
mov eax, ebx
call fcn.00472aec
mov eax, dword [ebp - 0xc]
mov edx, dword [eax*4 + 0x67f098]
mov eax, dword [ebx + 0x68]
call fcn.0042a320
mov dword [ebx + 0xc], 0x63
lea edx, [ebp - 0xbc]
mov eax, ebx
call fcn.0047f308
mov edx, dword [ebp - 0xbc]
lea eax, [ebx + 0x80]
call fcn.00404cd4
mov dl, 1
mov eax, ebx
call fcn.0047f458
mov eax, dword [ebp - 0x30]
add dword [ebp - 0x2c], eax
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
dec eax
cmp eax, dword [ebp - 0xc]
jge 0x54679c
jmp 0x547101
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, 0x5474e0
call fcn.0040508c
jne 0x547101
xor eax, eax
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
sub eax, 0x1e
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cdq
idiv ecx
mov edx, dword [ebp - 0x10]
sub edx, eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
sub eax, 0x1e
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cdq
idiv ecx
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
inc edx
mov ecx, edx
cdq
idiv ecx
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
sar eax, 1
jns 0x546afd
adc eax, 0
add eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 4]
mov edx, dword [edx + 0x38]
imul edx, dword [ebp - 0x30]
sar edx, 1
jns 0x546b11
adc edx, 0
add eax, edx
mov dword [ebp - 0x2c], eax
jmp 0x5470f1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x4c]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
imul eax, dword [ebp - 0xc], 0x33
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 8]
fmul qword [eax + edx*8 + 0x80]
mov eax, dword [ebp - 4]
fdiv qword [eax + 0x51f8]
call fcn.00402dfc
mov esi, dword [ebp - 0x14]
sub esi, eax
sub esi, 2
lea ecx, [ebp - 0x74]
mov edx, esi
mov eax, dword [ebp - 0x2c]
call fcn.0041ccf4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x7c]
lea edx, [esi + 7]
mov eax, dword [ebp - 0x2c]
add eax, 7
call fcn.0041ccf4
lea eax, [ebp - 0x7c]
push eax
push 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x552638]
call fcn.00556f14
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x552638]
call fcn.004040a0
mov esi, eax
lea eax, [esi + 0x80]
mov edx, 0x5474d4
call fcn.00404cd4
mov dword [esi + 0xc], 1
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x67f098]
mov dword [esi + 0x184], eax
push 0x5474ac
mov eax, dword [esi + 0x30]
call fcn.004829c0
lea edx, [ebp - 0xc4]
call fcn.00409afc
push dword [ebp - 0xc4]
push 0x5474bc
lea edx, [ebp - 0xc8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00409afc
push dword [ebp - 0xc8]
push 0x5474bc
lea edx, [ebp - 0xcc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00409afc
push dword [ebp - 0xcc]
lea eax, [ebp - 0xc0]
mov edx, 6
call fcn.00405000
mov edx, dword [ebp - 0xc0]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 4]
mov dword [esi + 0x124], eax
mov dword [esi + 0x120], 0x547734
mov eax, dword [ebp - 4]
mov dword [esi + 0x12c], eax
mov dword [esi + 0x128], 0x547788
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5208]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
mov dword [esi + 0x178], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
mov dword [esi + 0x17c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x74], 1
jne 0x546cc9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5208]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
mov dword [esi + 0x178], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520c]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
mov dword [esi + 0x17c], eax
mov dx, 0xffeb
mov eax, esi
call fcn.0047f514
lea eax, [ebp - 0xd0]
push eax
mov ecx, dword [esi + 0x17c]
mov edx, dword [esi + 0x178]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
call fcn.004d0ec4
mov edx, dword [ebp - 0xd0]
mov eax, 0x5474ec
call fcn.00405284
dec eax
jne 0x546d20
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
sub eax, dword [ebx + 0x44]
sub eax, 3
mov edx, eax
add edx, edx
add edx, dword [ebx + 0x44]
inc edx
mov eax, ebx
call fcn.0047ea74
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x3c]
dec eax
cmp eax, dword [ebp - 8]
jle 0x5470ee
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x50]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x48]
sub eax, 0x1e
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x3c]
cdq
idiv ecx
add eax, dword [ebp - 0x2c]
add eax, 2
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x4c]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
imul eax, dword [ebp - 0xc], 0x33
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 8]
fmul qword [eax + edx*8 + 0x80]
mov eax, dword [ebp - 4]
fdiv qword [eax + 0x51f8]
call fcn.00402dfc
mov esi, dword [ebp - 0x14]
sub esi, eax
sub esi, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
mov edx, dword [ebp - 4]
sub eax, dword [edx + 0x4c]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
imul eax, dword [ebp - 0xc], 0x33
mov edx, dword [ebp - 4]
lea eax, [edx + eax*8]
mov edx, dword [ebp - 8]
fmul qword [eax + edx*8 + 0x88]
mov eax, dword [ebp - 4]
fdiv qword [eax + 0x51f8]
call fcn.00402dfc
mov edi, dword [ebp - 0x14]
sub edi, eax
sub edi, 2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5208]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x74], 1
jne 0x546e14
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5208]
mov edx, dword [ebp - 8]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520c]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0xd4]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
mov ecx, dword [ebp - 0x3c]
mov edx, ebx
call fcn.004d0ec4
mov edx, dword [ebp - 0xd4]
mov eax, 0x5474ec
call fcn.00405284
dec eax
jne 0x546e4e
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
sub eax, esi
sub eax, 3
add eax, eax
add esi, eax
inc esi
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5208]
mov edx, dword [ebp - 0xc]
mov ebx, dword [eax + edx*4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520c]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4 + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x74], 1
jne 0x546e9b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x5208]
mov edx, dword [ebp - 8]
mov ebx, dword [eax + edx*4 + 4]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x520c]
mov edx, dword [ebp - 0xc]
mov eax, dword [eax + edx*4]
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0xd8]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
mov ecx, dword [ebp - 0x3c]
mov edx, ebx
call fcn.004d0ec4
mov edx, dword [ebp - 0xd8]
mov eax, 0x5474ec
call fcn.00405284
dec eax
jne 0x546ed5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x54]
sub eax, edi
sub eax, 3
add eax, eax
add edi, eax
inc edi
cmp edi, esi
jne 0x546fc6
lea ecx, [ebp - 0x74]
lea edx, [esi + 3]
mov eax, dword [ebp - 0x2c]
add eax, 6
call fcn.0041ccf4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x7c]
lea edx, [edi + 4]
mov eax, dword [ebp - 0x38]
call fcn.0041ccf4
lea eax, [ebp - 0x7c]
push eax
push 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x552638]
call fcn.00556f14
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x552638]
call fcn.004040a0
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
mov dword [eax + 0xc], 1
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x67f098]
mov edx, dword [ebp - 0x48]
mov dword [edx + 0x184], eax
push 0x5474f8
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 0x30]
call fcn.004829c0
lea edx, [ebp - 0xe0]
call fcn.00409afc
push dword [ebp - 0xe0]
push 0x5474bc
lea edx, [ebp - 0xe4]
mov eax, dword [ebp - 0x38]
call fcn.00409afc
push dword [ebp - 0xe4]
push 0x5474bc
lea edx, [ebp - 0xe8]
mov eax, edi
call fcn.00409afc
push dword [ebp - 0xe8]
lea eax, [ebp - 0xdc]
mov edx, 6
call fcn.00405000
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x48]
mov ecx, dword [eax]
call dword [ecx + 0x18]
jmp 0x5470ee
lea ecx, [ebp - 0x74]
lea edx, [esi + 3]
mov eax, dword [ebp - 0x2c]
add eax, 6
call fcn.0041ccf4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x7c]
lea edx, [edi + 3]
mov eax, dword [ebp - 0x38]
call fcn.0041ccf4
lea eax, [ebp - 0x7c]
push eax
push 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x552768]
call fcn.00556ae8
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x552768]
call fcn.004040a0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x4c]
add eax, 0x80
mov edx, 0x5474d4
call fcn.00404cd4
cmp esi, edi
jge 0x54703f
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0xc], 2
jmp 0x547049
mov eax, dword [ebp - 0x4c]
mov dword [eax + 0xc], 3
mov eax, dword [ebp - 0xc]
mov eax, dword [eax*4 + 0x67f098]
mov edx, dword [ebp - 0x4c]
mov dword [edx + 0x234], eax
xor eax, eax
push ebp
push 0x5470e4
push dword fs:[eax]
mov dword fs:[eax], esp
push 0x547508
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x30]
call fcn.004829c0
lea edx, [ebp - 0xf0]
call fcn.00409afc
push dword [ebp - 0xf0]
push 0x5474bc
lea edx, [ebp - 0xf4]
mov eax, dword [ebp - 0x38]
call fcn.00409afc
push dword [ebp - 0xf4]
push 0x5474bc
lea edx, [ebp - 0xf8]
mov eax, edi
call fcn.00409afc
push dword [ebp - 0xf8]
lea eax, [ebp - 0xec]
mov edx, 6
call fcn.00405000
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax]
call dword [ecx + 0x18]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5470ee
inc dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
dec eax
cmp eax, dword [ebp - 0xc]
jge 0x546b1b
inc dword [ebp - 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x3c]
cmp ecx, dword [ebp - 8]
jg 0x546528
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x30]
mov edx, 0x5474c8
call fcn.0040508c
jne 0x547203
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x40]
dec ebx
test ebx, ebx
jl 0x547203
inc ebx
mov dword [ebp - 8], 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
mov edx, dword [0x552638]
call fcn.0040407c
test al, al
je 0x5471f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
cmp dword [eax + 0x48], 0xa
jle 0x5471f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
mov eax, dword [eax + 0x48]
mov edx, dword [ebp - 0x30]
inc edx
cmp eax, edx
jg 0x5471f9
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 8]
mov eax, dword [eax + edx*4]
mov edx, dword [0x552638]
call fcn.004040a0
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0xfc]
push eax
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax + 0x17c]
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x178]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
call fcn.004d0ec4
mov edx, dword [ebp - 0xfc]
mov eax, 0x5474ec
call fcn.00405284
dec eax
jne 0x5471f9
mov eax, dword [ebp - 0x50]
mov edx, dword [eax + 0x44]
mov eax, dword [ebp - 0x50]
add edx, dword [eax + 0x4c]
mov eax, dword [ebp - 0x50]
call fcn.0047ea74
mov eax, dword [ebp - 0x50]
call fcn.0047f578
inc dword [ebp - 8]
dec ebx
jne 0x547140
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], 1
jle 0x54742d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
add eax, 0x1e
add eax, 5
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
sub eax, 0xf
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x51c8]
call fcn.0040602c
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x38]
jge 0x547263
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
push eax
mov eax, dword [ebp - 4]
add eax, 0x51c8
mov ecx, 1
mov edx, dword [0x545910]
call fcn.004061e8
add esp, 4
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x54741d
lea ecx, [ebp - 0x74]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
call fcn.0041ccf4
lea eax, [ebp - 0x74]
push eax
lea ecx, [ebp - 0x7c]
mov edx, dword [ebp - 0x14]
add edx, 8
mov eax, dword [ebp - 0x10]
add eax, 8
call fcn.0041ccf4
lea eax, [ebp - 0x7c]
push eax
push 3
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x552638]
call fcn.00556f14
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x552638]
call fcn.004040a0
mov ebx, eax
lea eax, [ebx + 0x80]
mov edx, 0x5474d4
call fcn.00404cd4
mov dword [ebx + 0xc], 1
mov eax, dword [ebp - 8]
mov eax, dword [eax*4 + 0x67f098]
mov dword [ebx + 0x184], eax
push 0x5474ac
mov eax, dword [ebx + 0x30]
call fcn.004829c0
lea edx, [ebp - 0x104]
call fcn.00409afc
push dword [ebp - 0x104]
push 0x5474bc
lea edx, [ebp - 0x108]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x48]
call fcn.00409afc
push dword [ebp - 0x108]
push 0x5474bc
lea edx, [ebp - 0x10c]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00409afc
push dword [ebp - 0x10c]
lea eax, [ebp - 0x100]
mov edx, 6
call fcn.00405000
mov edx, dword [ebp - 0x100]
mov eax, ebx
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
mov dl, 1
mov eax, dword [0x46c0f8]
call fcn.00472674
mov ebx, eax
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00545d0c
mov eax, ebx
mov edx, dword [0x46c0f8]
call fcn.004040a0
mov esi, eax
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x70]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x68]
mov dl, 1
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov edx, dword [ebp - 0x10]
add edx, 0xa
mov eax, esi
call fcn.0047ea50
mov edx, dword [ebp - 0x14]
sub edx, 2
mov eax, esi
call fcn.0047ea74
mov eax, dword [esi + 0x68]
mov edx, 0x547490
call fcn.0042a548
mov eax, dword [esi + 0x68]
mov edx, 9
call fcn.0042a5c0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x51c8]
mov edx, dword [ebp - 8]
mov edx, dword [eax + edx*4]
mov eax, esi
call fcn.0047f338
xor edx, edx
mov eax, esi
call fcn.00472a78
mov dl, 1
mov eax, esi
call fcn.00472aec
mov eax, dword [ebp - 4]
cmp dword [eax + 0x38], 6
jle 0x547416
mov eax, dword [ebx + 0x48]
add eax, dword [ebp - 0x10]
add eax, 0x14
mov dword [ebp - 0x10], eax
jmp 0x54741a
add dword [ebp - 0x10], 0x64
inc dword [ebp - 8]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x38]
dec eax
cmp eax, dword [ebp - 8]
jge 0x54726d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x54747a
lea eax, [ebp - 0x10c]
mov edx, 0x14
call fcn.00404ca4
lea eax, [ebp - 0xbc]
call fcn.00404c80
lea eax, [ebp - 0xb8]
mov edx, 0xf
call fcn.00404ca4
lea eax, [ebp - 0x5c]
mov edx, 2
call fcn.00404ca4
ret