Function at 0x5bff60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0x34
push 0
push 0
dec ecx
jne 0x5bff68
push ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], edx
mov dword [ebp - 8], eax
xor eax, eax
push ebp
push 0x5c104c
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 8]
call fcn.005c1344
mov dl, 1
mov eax, dword [0x4321b4]
call fcn.0043e78c
mov dword [ebp - 0x24], eax
mov dl, 1
mov eax, dword [0x4321b4]
call fcn.0043e78c
mov dword [ebp - 0x28], eax
mov dl, 1
mov eax, dword [0x4321b4]
call fcn.0043e78c
mov dword [ebp - 0x2c], eax
mov dl, 1
mov eax, dword [0x4321b4]
call fcn.0043e78c
mov dword [ebp - 0x30], eax
mov eax, 0xff
call fcn.00417930
mov dword [ebp - 0x38], eax
xor eax, eax
push ebp
push 0x5c101f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x6ab110]
cmp byte [eax], 0
je 0x5bffff
lea eax, [ebp - 4]
mov edx, 0x5c1068
call fcn.00407cf0
jmp 0x5c000c
lea eax, [ebp - 4]
mov edx, 0x5c10b4
call fcn.00407cf0
call fcn.005b69d8
mov ebx, eax
mov eax, dword [ebp - 8]
cmp byte [eax + 0xc8], 0
jne 0x5c0ce7
mov eax, dword [0x6ab110]
cmp byte [eax], 0
je 0x5c080b
mov edx, 0x80000002
mov eax, ebx
call fcn.0044fdec
mov edx, 0x5c1068
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c0fe2
mov edx, dword [ebp - 0x24]
mov eax, ebx
call fcn.0045046c
mov eax, ebx
call fcn.0044fdbc
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5c0fe2
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0x6c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x6c]
lea eax, [ebp - 0x68]
mov edx, 3
call fcn.00408264
mov edx, dword [ebp - 0x68]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c07fa
mov edx, dword [ebp - 0x28]
mov eax, ebx
call fcn.0045046c
mov eax, ebx
call fcn.0044fdbc
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5c07fa
inc eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x18], 0
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0x74]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x74]
push 0x5c10cc
lea ecx, [ebp - 0x78]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x78]
lea eax, [ebp - 0x70]
mov edx, 5
call fcn.00408264
mov edx, dword [ebp - 0x70]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c07ee
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.0045046c
mov eax, ebx
call fcn.0044fdbc
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5c07ee
inc eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x1c], 0
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0x80]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x80]
push 0x5c10cc
lea ecx, [ebp - 0x84]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x84]
push 0x5c10cc
lea ecx, [ebp - 0x88]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x88]
lea eax, [ebp - 0x7c]
mov edx, 7
call fcn.00408264
mov edx, dword [ebp - 0x7c]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c07e2
mov edx, 0x5c10dc
mov eax, ebx
call fcn.00451278
test al, al
je 0x5c07e2
mov edx, dword [0x5bd508]
mov eax, 0x90
call fcn.00408fd0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov esi, eax
lea ecx, [ebp - 0x90]
mov edx, 0x5c10f8
mov eax, ebx
call fcn.00450964
mov eax, dword [ebp - 0x90]
lea edx, [ebp - 0x8c]
call fcn.004152c8
mov edx, dword [ebp - 0x8c]
lea eax, [esi + 0x18]
call fcn.00407c9c
lea ecx, [ebp - 0x94]
mov edx, 0x5c1118
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x94]
lea eax, [esi + 0x10]
call fcn.00407c9c
mov edx, dword [esi + 0x10]
mov eax, 0x5c1140
call fcn.0040875c
test eax, eax
jle 0x5c0285
lea eax, [esi + 0x10]
push eax
mov edx, dword [esi + 0x10]
mov eax, 0x5c1140
call fcn.0040875c
mov edx, eax
inc edx
mov eax, dword [esi + 0x10]
mov ecx, 0x400
call fcn.004083ec
lea ecx, [ebp - 0x98]
mov edx, 0x5c1150
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x98]
lea eax, [esi + 0x14]
call fcn.00407c9c
mov edx, dword [esi + 0x14]
mov eax, 0x5c1140
call fcn.0040875c
test eax, eax
jle 0x5c02d7
lea eax, [esi + 0x14]
push eax
mov edx, dword [esi + 0x14]
mov eax, 0x5c1140
call fcn.0040875c
mov edx, eax
inc edx
mov eax, dword [esi + 0x14]
mov ecx, 0x400
call fcn.004083ec
lea edx, [ebp - 0x9c]
mov eax, dword [esi + 0x10]
call fcn.00415948
cmp dword [ebp - 0x9c], 0
jne 0x5c02fa
mov eax, esi
mov edx, dword [esi + 0x14]
call fcn.00407c9c
jmp 0x5c0304
mov eax, esi
mov edx, dword [esi + 0x10]
call fcn.00407c9c
lea ecx, [ebp - 0xa0]
mov edx, 0x5c1174
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0xa0]
lea eax, [esi + 0x1c]
call fcn.00407c9c
mov edx, dword [esi + 0x1c]
mov eax, 0x5c1140
call fcn.0040875c
test eax, eax
jle 0x5c0356
lea eax, [esi + 0x1c]
push eax
mov edx, dword [esi + 0x1c]
mov eax, 0x5c1140
call fcn.0040875c
mov edx, eax
inc edx
mov eax, dword [esi + 0x1c]
mov ecx, 0x400
call fcn.004083ec
lea ecx, [ebp - 0xa4]
mov edx, 0x5c1188
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0xa4]
lea eax, [esi + 0x54]
call fcn.00407c9c
lea ecx, [ebp - 0xa8]
mov edx, 0x5c11a4
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0xa8]
lea eax, [esi + 0x20]
call fcn.00407c9c
lea eax, [esi + 0x2c]
push eax
lea ecx, [esi + 0x28]
lea edx, [esi + 0x24]
mov eax, dword [esi + 0x20]
call fcn.005bde34
cmp dword [esi + 0x20], 0
jne 0x5c03d4
lea eax, [esi + 0x60]
push eax
lea ecx, [ebp - 0xac]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0xac]
lea ecx, [esi + 0x5c]
lea edx, [esi + 0x20]
call fcn.005bf8e8
lea eax, [esi + 0xc]
push eax
lea ecx, [esi + 8]
lea edx, [esi + 4]
mov eax, dword [esi + 0x18]
call fcn.005bf2ec
cmp dword [esi + 4], 0
jne 0x5c040c
lea ecx, [ebp - 0xb0]
mov edx, 0x5c11d8
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0xb0]
lea eax, [esi + 4]
call fcn.00407c9c
lea ecx, [ebp - 0xb4]
mov edx, 0x5c11f0
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0xb4]
lea eax, [esi + 0x40]
call fcn.00407c9c
lea eax, [esi + 0x4c]
push eax
lea eax, [esi + 0x50]
push eax
lea ecx, [esi + 0x48]
lea edx, [esi + 0x44]
mov eax, dword [esi + 0x40]
call fcn.005bf618
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x5c]
lea edx, [esi + 0x58]
mov eax, dword [esi + 0x54]
call fcn.005bf8e8
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0xb8]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xb8]
push 0x5c10cc
lea ecx, [ebp - 0xbc]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xbc]
push 0x5c10cc
lea ecx, [ebp - 0xc0]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xc0]
lea eax, [esi + 0x64]
mov edx, 7
call fcn.00408264
lea ecx, [ebp - 0xc4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0xc4]
lea eax, [esi + 0x38]
call fcn.00407c9c
push 0
lea eax, [ebp - 0xc8]
push eax
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0xd0]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xd0]
push 0x5c10cc
lea ecx, [ebp - 0xd4]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xd4]
push 0x5c10cc
lea ecx, [ebp - 0xd8]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xd8]
lea eax, [ebp - 0xcc]
mov edx, 7
call fcn.00408264
mov edx, dword [ebp - 0xcc]
mov ecx, 0x5c120c
mov eax, 0x80000002
call fcn.005b6a00
mov edx, dword [ebp - 0xc8]
lea eax, [esi + 0x30]
call fcn.00407c9c
lea eax, [esi + 0x7c]
push eax
lea eax, [esi + 0x80]
push eax
lea ecx, [esi + 0x78]
lea edx, [esi + 0x74]
mov eax, dword [esi + 0x30]
call fcn.005bfd3c
lea ecx, [esi + 0x6c]
lea edx, [esi + 0x68]
mov eax, dword [esi + 0x64]
call fcn.005bfa98
lea ecx, [ebp - 0xdc]
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x30]
call fcn.005beec8
mov edx, dword [ebp - 0xdc]
lea eax, [esi + 0x34]
call fcn.00407c9c
mov eax, ebx
call fcn.0044fdbc
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0xe4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xe4]
push 0x5c10cc
lea ecx, [ebp - 0xe8]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xe8]
push 0x5c10cc
lea ecx, [ebp - 0xec]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xec]
push 0x5c10cc
push 0x5c10dc
lea eax, [ebp - 0xe0]
mov edx, 9
call fcn.00408264
mov edx, dword [ebp - 0xe0]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c0667
lea edx, [ebp - 0x64]
mov eax, ebx
call fcn.00450400
lea eax, [ebp - 0x50]
call fcn.005b19e4
add esp, 0xfffffff8
fstp qword [esp]
wait
call fcn.005b18a8
fstp qword [esi + 0x88]
wait
mov eax, ebx
call fcn.0044fdbc
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0xf4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xf4]
push 0x5c10cc
lea ecx, [ebp - 0xf8]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xf8]
push 0x5c10cc
lea ecx, [ebp - 0xfc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0xfc]
push 0x5c10cc
push 0x5c1230
lea eax, [ebp - 0xf0]
mov edx, 9
call fcn.00408264
mov edx, dword [ebp - 0xf0]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c0794
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.004506e0
mov eax, dword [ebp - 0x30]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5c078d
inc eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], 0
lea ecx, [ebp - 0x100]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov edi, dword [eax]
call dword [edi + 0xc]
cmp dword [ebp - 0x100], 0
je 0x5c0785
lea ecx, [ebp - 0x104]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x104]
mov eax, ebx
call fcn.00450824
cmp al, 1
jne 0x5c0785
lea ecx, [ebp - 0x10c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x10c]
lea ecx, [ebp - 0x108]
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x108]
lea eax, [esi + 0x3c]
call fcn.00407c9c
jmp 0x5c078d
inc dword [ebp - 0x20]
dec dword [ebp - 0x48]
jne 0x5c0715
mov eax, ebx
call fcn.0044fdbc
lea edx, [ebp - 0x110]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
call fcn.00415948
cmp dword [ebp - 0x110], 0
je 0x5c07d4
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
call fcn.005bdcac
mov edx, dword [ebp - 0x34]
mov byte [edx + 0x70], al
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x34]
mov esi, dword [eax]
call dword [esi + 0x3c]
jmp 0x5c07e2
mov edx, dword [0x5bd508]
mov eax, dword [ebp - 0x34]
call fcn.00408fe4
inc dword [ebp - 0x1c]
dec dword [ebp - 0x44]
jne 0x5c0164
inc dword [ebp - 0x18]
dec dword [ebp - 0x40]
jne 0x5c00e7
inc dword [ebp - 0x14]
dec dword [ebp - 0x3c]
jne 0x5c0080
jmp 0x5c0fe2
mov edx, 0x80000006
mov eax, ebx
call fcn.0044fdec
xor ecx, ecx
mov edx, 0x5c1260
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c08bf
mov edx, dword [ebp - 0x24]
mov eax, ebx
call fcn.0045046c
mov eax, ebx
call fcn.0044fdbc
mov eax, dword [ebp - 0x24]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5c08bf
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x118]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov esi, dword [eax]
call dword [esi + 0xc]
mov ecx, dword [ebp - 0x118]
lea eax, [ebp - 0x114]
mov edx, 0x5c1298
call fcn.00408180
mov edx, dword [ebp - 0x114]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c08b7
lea ecx, [ebp - 0x11c]
mov edx, 0x5c12d0
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, ebx
call fcn.0044fdbc
inc dword [ebp - 0x14]
dec dword [ebp - 0x3c]
jne 0x5c0856
mov edx, 0x80000002
mov eax, ebx
call fcn.0044fdec
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5c0fe2
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x14], 0
lea ecx, [ebp - 0x124]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
call dword [esi + 0xc]
mov eax, dword [ebp - 0x124]
lea edx, [ebp - 0x120]
call fcn.004152c8
mov edx, dword [ebp - 0x120]
mov eax, 0x5c12f4
call fcn.0040875c
test eax, eax
jne 0x5c0cd6
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0x12c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x12c]
lea eax, [ebp - 0x128]
mov edx, 3
call fcn.00408264
mov edx, dword [ebp - 0x128]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c0cd6
mov edx, dword [ebp - 0x30]
mov eax, ebx
call fcn.0045046c
mov edx, dword [0x5bd508]
mov eax, 0x90
call fcn.00408fd0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov esi, eax
mov edx, 0x5c10f8
lea ecx, [ebp - 0x134]
mov eax, ebx
call fcn.00450964
mov eax, dword [ebp - 0x134]
lea edx, [ebp - 0x130]
call fcn.004152c8
mov edx, dword [ebp - 0x130]
lea eax, [esi + 0x18]
call fcn.00407c9c
mov edx, 0x5c1118
lea ecx, [ebp - 0x138]
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x138]
lea eax, [esi + 0x10]
call fcn.00407c9c
mov edx, 0x5c1150
lea ecx, [ebp - 0x13c]
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x13c]
lea eax, [esi + 0x14]
call fcn.00407c9c
lea edx, [ebp - 0x140]
mov eax, dword [esi + 0x10]
call fcn.00415948
cmp dword [ebp - 0x140], 0
jne 0x5c0a1d
mov eax, esi
mov edx, dword [esi + 0x14]
call fcn.00407c9c
jmp 0x5c0a27
mov eax, esi
mov edx, dword [esi + 0x10]
call fcn.00407c9c
mov edx, 0x5c1174
lea ecx, [ebp - 0x144]
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x144]
lea eax, [esi + 0x1c]
call fcn.00407c9c
mov edx, 0x5c1188
lea ecx, [ebp - 0x148]
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x148]
lea eax, [esi + 0x54]
call fcn.00407c9c
mov edx, 0x5c11a4
lea ecx, [ebp - 0x14c]
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x14c]
lea eax, [esi + 0x20]
call fcn.00407c9c
lea eax, [esi + 0x2c]
push eax
lea ecx, [esi + 0x28]
lea edx, [esi + 0x24]
mov eax, dword [esi + 0x20]
call fcn.005bde34
cmp dword [esi + 0x20], 0
jne 0x5c0ac5
lea eax, [esi + 0x60]
push eax
lea ecx, [ebp - 0x150]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x150]
lea ecx, [esi + 0x5c]
lea edx, [esi + 0x20]
call fcn.005bf8e8
lea eax, [esi + 0xc]
push eax
lea ecx, [esi + 8]
lea edx, [esi + 4]
mov eax, dword [esi + 0x18]
call fcn.005bf2ec
cmp dword [esi + 4], 0
jne 0x5c0afd
mov edx, 0x5c11d8
lea ecx, [ebp - 0x154]
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x154]
lea eax, [esi + 4]
call fcn.00407c9c
mov edx, 0x5c11f0
lea ecx, [ebp - 0x158]
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x158]
lea eax, [esi + 0x40]
call fcn.00407c9c
lea eax, [esi + 0x4c]
push eax
lea eax, [esi + 0x50]
push eax
lea ecx, [esi + 0x48]
lea edx, [esi + 0x44]
mov eax, dword [esi + 0x40]
call fcn.005bf618
lea eax, [esi + 0x60]
push eax
lea ecx, [esi + 0x5c]
lea edx, [esi + 0x58]
mov eax, dword [esi + 0x54]
call fcn.005bf8e8
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0x15c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x15c]
lea eax, [esi + 0x64]
mov edx, 3
call fcn.00408264
lea ecx, [ebp - 0x160]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x160]
lea eax, [esi + 0x38]
call fcn.00407c9c
push 0
lea eax, [ebp - 0x164]
push eax
push dword [ebp - 4]
push 0x5c10cc
lea ecx, [ebp - 0x16c]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x16c]
lea eax, [ebp - 0x168]
mov edx, 3
call fcn.00408264
mov edx, dword [ebp - 0x168]
mov ecx, 0x5c120c
mov eax, 0x80000002
call fcn.005b6a00
mov edx, dword [ebp - 0x164]
lea eax, [esi + 0x30]
call fcn.00407c9c
lea eax, [esi + 0x7c]
push eax
lea eax, [esi + 0x80]
push eax
lea ecx, [esi + 0x78]
lea edx, [esi + 0x74]
mov eax, dword [esi + 0x30]
call fcn.005bfd3c
lea eax, [esi + 0x34]
xor edx, edx
call fcn.00407c9c
lea ecx, [esi + 0x6c]
lea edx, [esi + 0x68]
mov eax, dword [esi + 0x64]
call fcn.005bfcf8
lea edx, [ebp - 0x170]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
call fcn.00415948
cmp dword [ebp - 0x170], 0
je 0x5c0cc1
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
push 0x5c1310
mov eax, dword [ebp - 0x34]
push dword [eax + 0x14]
lea eax, [ebp - 0x174]
mov edx, 3
call fcn.00408264
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x54]
inc eax
jne 0x5c0cc1
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
call fcn.005bdcac
mov edx, dword [ebp - 0x34]
mov byte [edx + 0x70], al
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x34]
mov esi, dword [eax]
call dword [esi + 0x3c]
mov eax, dword [ebp - 0x34]
push dword [eax + 4]
push 0x5c1310
mov eax, dword [ebp - 0x34]
push dword [eax + 0x14]
lea eax, [ebp - 0x178]
mov edx, 3
call fcn.00408264
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x2c]
mov ecx, dword [eax]
call dword [ecx + 0x38]
jmp 0x5c0ccf
mov edx, dword [0x5bd508]
mov eax, dword [ebp - 0x34]
call fcn.00408fe4
mov eax, ebx
call fcn.0044fdbc
inc dword [ebp - 0x14]
dec dword [ebp - 0x3c]
jne 0x5c08e7
jmp 0x5c0fe2
mov edx, 0x80000002
mov eax, ebx
call fcn.0044fdec
mov edx, 0x5c1068
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c0fe2
mov eax, ebx
call fcn.0044fdbc
push dword [ebp - 4]
push 0x5c10cc
push 0x5c1320
lea eax, [ebp - 0x17c]
mov edx, 3
call fcn.00408264
mov edx, dword [ebp - 0x17c]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c0fe2
mov edx, dword [ebp - 0x28]
mov eax, ebx
call fcn.0045046c
mov eax, ebx
call fcn.0044fdbc
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5c0fe2
inc eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], 0
push dword [ebp - 4]
push 0x5c10cc
push 0x5c1320
push 0x5c10cc
lea ecx, [ebp - 0x184]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x184]
lea eax, [ebp - 0x180]
mov edx, 5
call fcn.00408264
mov edx, dword [ebp - 0x180]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c0fd6
mov edx, dword [ebp - 0x2c]
mov eax, ebx
call fcn.0045046c
mov eax, ebx
call fcn.0044fdbc
mov eax, dword [ebp - 0x2c]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x5c0fca
inc eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x1c], 0
push dword [ebp - 4]
push 0x5c10cc
push 0x5c1320
push 0x5c10cc
lea ecx, [ebp - 0x18c]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x18c]
push 0x5c10cc
lea ecx, [ebp - 0x190]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov esi, dword [eax]
call dword [esi + 0xc]
push dword [ebp - 0x190]
lea eax, [ebp - 0x188]
mov edx, 7
call fcn.00408264
mov edx, dword [ebp - 0x188]
xor ecx, ecx
mov eax, ebx
call fcn.0044ff34
test al, al
je 0x5c0fbe
mov edx, 0x5c10dc
mov eax, ebx
call fcn.00451278
test al, al
je 0x5c0fbe
mov edx, dword [0x5bd508]
mov eax, 0x90
call fcn.00408fd0
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov esi, eax
mov edx, 0x5c11a4
lea ecx, [ebp - 0x194]
mov eax, ebx
call fcn.00450964
mov edx, dword [ebp - 0x194]
lea eax, [esi + 0x20]
call fcn.00407c9c
lea eax, [esi + 0x2c]
push eax
lea ecx, [esi + 0x28]
lea edx, [esi + 0x24]
mov eax, dword [esi + 0x20]
call fcn.005bde34
push 0
lea eax, [ebp - 0x198]
push eax
push dword [ebp - 4]
push 0x5c10cc
push 0x5c1320
push 0x5c10cc
lea ecx, [ebp - 0x1a0]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x28]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x1a0]
push 0x5c10cc
lea ecx, [ebp - 0x1a4]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
call dword [edi + 0xc]
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x19c]
mov edx, 7
call fcn.00408264
mov edx, dword [ebp - 0x19c]
mov ecx, 0x5c120c
mov eax, 0x80000002
call fcn.005b6a00
mov edx, dword [ebp - 0x198]
lea eax, [esi + 0x30]
call fcn.00407c9c
lea eax, [esi + 0x7c]
push eax
lea eax, [esi + 0x80]
push eax
lea ecx, [esi + 0x78]
lea edx, [esi + 0x74]
mov eax, dword [esi + 0x30]
call fcn.005bfd3c
mov eax, ebx
call fcn.0044fdbc
cmp dword [esi + 0x74], 0x8086
jne 0x5c0f81
cmp dword [esi + 0x24], 0
jne 0x5c0f81
cmp dword [esi + 0x28], 0
jne 0x5c0f81
cmp dword [esi + 0x2c], 0
jne 0x5c0f81
lea eax, [esi + 4]
mov edx, 0x5c1334
call fcn.00407c9c
mov eax, dword [ebp - 0x34]
cmp dword [eax + 4], 0
je 0x5c0fb0
mov eax, dword [ebp - 0x34]
mov byte [eax + 0x70], 0x20
mov eax, dword [ebp - 0x34]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x34]
mov esi, dword [eax]
call dword [esi + 0x3c]
mov eax, dword [ebp - 8]
mov byte [eax + 0xc8], 0
jmp 0x5c0fbe
mov edx, dword [0x5bd508]
mov eax, dword [ebp - 0x34]
call fcn.00408fe4
inc dword [ebp - 0x1c]
dec dword [ebp - 0x40]
jne 0x5c0dee
mov eax, dword [ebp - 8]
cmp byte [eax + 0xc8], 0
je 0x5c0fe2
inc dword [ebp - 0x18]
dec dword [ebp - 0x3c]
jne 0x5c0d71
mov eax, ebx
call fcn.00405854
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x5c1026
mov eax, dword [ebp - 0x38]
call fcn.00417970
mov eax, dword [ebp - 0x24]
call fcn.00405854
mov eax, dword [ebp - 0x28]
call fcn.00405854
mov eax, dword [ebp - 0x2c]
call fcn.00405854
mov eax, dword [ebp - 0x30]
call fcn.00405854
ret