Function at 0x1005cc60
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101dcfbc
mov eax, dword fs:[0]
push eax
push ecx
push ebx
sub esp, 0x350
mov eax, dword [0x10284f40]
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
push 0x270
lea eax, [ebp - 0x320]
push 0
push eax
call fcn.100e6b10
add esp, 0xc
lea ecx, [ebp - 0x320]
call fcn.1005f4f0
mov dword [ebp - 4], 0
xorps xmm0, xmm0
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov byte [ebp - 4], 1
xor esi, esi
nop word [eax + eax]
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x330], esi
mov dword [ebp - 0x328], 0xffffffff
cmp eax, dword [ebp - 0x158]
je 0x1005cd2d
mov dword [eax], 0xffffffff
add dword [ebp - 0x15c], 4
jmp 0x1005cd40
lea ecx, [ebp - 0x328]
push ecx
push eax
lea ecx, [ebp - 0x160]
call fcn.1006fab0
mov eax, dword [ebp - 0x2f4]
cmp eax, dword [ebp - 0x2f0]
je 0x1005cd61
mov dword [eax], esi
mov eax, dword [ebp - 0x2f4]
add eax, 4
mov dword [ebp - 0x2f4], eax
jmp 0x1005cd7a
lea ecx, [ebp - 0x330]
push ecx
push eax
lea ecx, [ebp - 0x2f8]
call fcn.1007e200
mov eax, dword [ebp - 0x2f4]
sub eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x54]
sar eax, 2
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x160]
sar eax, 2
dec eax
mov dword [ebp - 0x2e8], 1
mov dword [ebp - 0x328], eax
cmp ecx, dword [ebp - 0x50]
je 0x1005cdb9
mov dword [ecx], eax
add dword [ebp - 0x54], 4
jmp 0x1005cdc9
lea eax, [ebp - 0x328]
push eax
push ecx
lea ecx, [ebp - 0x58]
call fcn.1006fab0
inc esi
cmp esi, 8
jb 0x1005cd00
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
movq qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
push dword [ebp - 0x58]
push 0
call fcn.1006fab0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x48]
add eax, 4
cmp ecx, dword [ebp - 0x44]
je 0x1005ce25
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x48]
add ecx, 4
mov dword [ebp - 0x48], ecx
jmp 0x1005ce32
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1006fab0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x58]
add eax, 8
cmp ecx, dword [ebp - 0x44]
je 0x1005ce47
mov eax, dword [eax]
mov dword [ecx], eax
add dword [ebp - 0x48], 4
jmp 0x1005ce51
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1006fab0
sub esp, 0xc
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x320]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.10064e30
mov eax, dword [ebp - 0x4c]
sub esp, 0xc
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov dword [ecx + 8], eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064e30
mov edx, dword [ebp - 0x58]
sub esp, 0xc
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x10]
mov dword [ecx + 8], eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064e30
mov edx, dword [ebp - 0x58]
sub esp, 0xc
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x10]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x14]
mov dword [ecx + 8], eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064e30
mov edx, dword [ebp - 0x58]
sub esp, 0xc
mov eax, dword [ebp - 0xc4]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x14]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x18]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xc4]
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064e30
lea ecx, [ebp - 0x320]
call fcn.1005c850
mov edx, str.Faces:_n
mov ecx, 0x10291ab0
call fcn.10069160
mov eax, dword [ebp - 0x144]
xor esi, esi
sub eax, dword [ebp - 0x148]
sar eax, 2
test eax, eax
je 0x1005cfcb
lea edx, [ebp - 0x328]
mov dword [ebp - 0x328], esi
lea ecx, [ebp - 0x320]
call fcn.1005cb40
mov eax, dword [ebp - 0x144]
inc esi
sub eax, dword [ebp - 0x148]
sar eax, 2
cmp esi, eax
jb 0x1005cfa0
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x320]
mov esi, dword [ebp - 0x160]
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov dword [ebp - 0x70], ecx
mov eax, dword [eax]
mov esi, dword [esi + eax*4]
mov edi, esi
nop dword [eax]
lea edx, [ebp - 0x328]
mov dword [ebp - 0x328], esi
lea ecx, [ebp - 0x320]
call fcn.1005ca20
mov eax, esi
not eax
and eax, 1
lea ecx, [esi + eax*2]
mov eax, dword [ebp - 0x154]
add ecx, ecx
movups xmm0, xmmword [eax + ecx*8 - 0x10]
movups xmmword [ebp - 0x38], xmm0
mov esi, dword [ebp - 0x34]
cmp esi, edi
jne 0x1005cff0
mov eax, dword [ebp - 0x58]
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0x160]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x320]
mov dword [ebp - 0x70], eax
mov edi, esi
nop dword [eax + eax]
lea edx, [ebp - 0x328]
mov dword [ebp - 0x328], esi
lea ecx, [ebp - 0x320]
call fcn.1005ca20
shl esi, 4
add esi, dword [ebp - 0x154]
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x38], xmm0
mov esi, dword [ebp - 0x34]
cmp esi, edi
jne 0x1005d050
mov eax, dword [ebp - 0x148]
mov dword [ebp - 0x328], 1
cmp dword [eax + 4], 0
jl 0x1005d0af
push dword [ebp - 0x68]
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064c40
mov eax, dword [ebp - 0x148]
cmp dword [eax + 0xc], 0
mov dword [ebp - 0x328], 3
jl 0x1005d0d4
push dword [ebp - 0x68]
lea eax, [ebp - 0x328]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064c40
lea ecx, [ebp - 0x320]
call fcn.1005f720
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x54], eax
call fcn.1005c850
mov edx, str.Faces:_n
mov ecx, 0x10291ab0
call fcn.10069160
mov eax, dword [ebp - 0x144]
xor esi, esi
sub eax, dword [ebp - 0x148]
sar eax, 2
test eax, eax
je 0x1005d13f
lea edx, [ebp - 0x328]
mov dword [ebp - 0x328], esi
lea ecx, [ebp - 0x320]
call fcn.1005cb40
mov eax, dword [ebp - 0x144]
inc esi
sub eax, dword [ebp - 0x148]
sar eax, 2
cmp esi, eax
jb 0x1005d114
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x1005d1e8
mov ecx, dword [ecx]
lea edx, [ebp - 0x320]
mov eax, dword [ebp - 0x160]
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x154]
mov eax, dword [eax + ecx*4]
mov esi, eax
mov dword [ebp - 0x32c], eax
nop dword [eax]
mov ecx, eax
add ecx, ecx
movups xmm0, xmmword [edx + ecx*8]
movups xmmword [ebp - 0x38], xmm0
cmp dword [ebp - 0x2c], 0
jl 0x1005d1c0
movups xmm0, xmmword [edx + ecx*8]
lea edx, [ebp - 0x328]
lea ecx, [ebp - 0x320]
movups xmmword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x328], eax
call fcn.1005cb40
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x32c]
test al, 1
je 0x1005d1cc
shl eax, 4
sub eax, 0x10
jmp 0x1005d1d0
inc eax
shl eax, 4
movups xmm0, xmmword [edx + eax]
movups xmmword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x32c], eax
cmp eax, esi
jne 0x1005d180
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x4c]
test edx, edx
je 0x1005d242
mov eax, dword [ebp - 0x44]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d220
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005e666
push ecx
push edx
call fcn.100e476e
mov ecx, dword [ebp - 0x58]
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 4], 0
test ecx, ecx
je 0x1005d296
mov eax, dword [ebp - 0x50]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x1005d277
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005e666
push edx
push ecx
call fcn.100e476e
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0x320]
mov dword [ebp - 4], 0xffffffff
call fcn.1005f030
push 0
push 0x80
push 3
push 0
push 1
push 0xc0000000
push 0x1026aa10
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x32c], eax
call fcn.100e2294
mov edi, eax
mov esi, edx
mov dword [ebp - 0x330], edi
mov dword [ebp - 0x328], esi
call fcn.100e227d
push ebx
push esi
push edi
push edx
push eax
call fcn.101d8040
mov edi, ebx
pop ebx
push 0
push 0x3b9aca00
push edx
push eax
mov esi, ecx
call fcn.100e4c30
push 0
push 0x3b9aca00
push edi
push esi
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x338], edx
call fcn.100e4c30
push dword [ebp - 0x328]
push dword [ebp - 0x330]
push edx
push eax
call fcn.100e4b80
mov esi, eax
mov ecx, edx
add esi, dword [ebp - 0x84]
adc ecx, dword [ebp - 0x338]
cmp esi, 0xd9d661ff
jne 0x1005d353
cmp ecx, 0x7ffffff7
jne 0x1005d359
xor al, al
jmp 0x1005d36b
cmp ecx, 0x7ffffff7
jg 0x1005d369
jl 0x1005d365
cmp esi, 0xd9d661ff
jae 0x1005d369
or al, 0xff
jmp 0x1005d36b
mov al, 1
test al, al
jns 0x1005d383
add esi, 0x26299e00
mov dword [ebp - 0x84], esi
adc ecx, 8
mov dword [ebp - 0x74], ecx
jmp 0x1005d394
mov dword [ebp - 0x84], 0xffffffff
mov dword [ebp - 0x74], accept
movsd xmm0, qword [0x1026e2d0]
movsd qword [ebp - 0x70], xmm0
call fcn.100e2294
mov edi, eax
mov esi, edx
mov dword [ebp - 0x330], edi
mov dword [ebp - 0x328], esi
call fcn.100e227d
push ebx
push esi
push edi
push edx
push eax
call fcn.101d8040
mov edi, ebx
pop ebx
push 0
push 0x3b9aca00
push edx
push eax
mov esi, ecx
call fcn.100e4c30
push 0
push 0x3b9aca00
push edi
push esi
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x324], edx
call fcn.100e4c30
push dword [ebp - 0x328]
push dword [ebp - 0x330]
push edx
push eax
call fcn.100e4b80
mov edi, dword [ebp - 0x84]
mov esi, eax
add esi, dword [ebp - 0x338]
mov ecx, dword [ebp - 0x74]
adc edx, dword [ebp - 0x324]
cmp edi, esi
jne 0x1005d428
cmp ecx, edx
jne 0x1005d42a
xor al, al
jmp 0x1005d438
cmp ecx, edx
jg 0x1005d436
jl 0x1005d432
cmp edi, esi
jae 0x1005d436
or al, 0xff
jmp 0x1005d438
mov al, 1
test al, al
jg 0x1005e5e0
mov eax, dword [ebp - 0x32c]
test eax, eax
je 0x1005e5bf
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
push 0x270
mov dword [ebp - 0x330], eax
lea eax, [ebp - 0x320]
push 0
push eax
call fcn.100e6b10
add esp, 0xc
lea ecx, [ebp - 0x320]
call fcn.1005f4f0
mov dword [ebp - 4], 3
xorps xmm0, xmm0
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov byte [ebp - 4], 4
xor esi, esi
nop
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x328], esi
mov dword [ebp - 0x324], 0xffffffff
cmp eax, dword [ebp - 0x158]
je 0x1005d4dd
mov dword [eax], 0xffffffff
add dword [ebp - 0x15c], 4
jmp 0x1005d4f0
lea ecx, [ebp - 0x324]
push ecx
push eax
lea ecx, [ebp - 0x160]
call fcn.1006fab0
mov eax, dword [ebp - 0x2f4]
cmp eax, dword [ebp - 0x2f0]
je 0x1005d511
mov dword [eax], esi
mov eax, dword [ebp - 0x2f4]
add eax, 4
mov dword [ebp - 0x2f4], eax
jmp 0x1005d52a
lea ecx, [ebp - 0x328]
push ecx
push eax
lea ecx, [ebp - 0x2f8]
call fcn.1007e200
mov eax, dword [ebp - 0x2f4]
sub eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x54]
sar eax, 2
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x15c]
sub eax, dword [ebp - 0x160]
sar eax, 2
dec eax
mov dword [ebp - 0x2e8], 1
mov dword [ebp - 0x324], eax
cmp ecx, dword [ebp - 0x50]
je 0x1005d569
mov dword [ecx], eax
add dword [ebp - 0x54], 4
jmp 0x1005d579
lea eax, [ebp - 0x324]
push eax
push ecx
lea ecx, [ebp - 0x58]
call fcn.1006fab0
inc esi
cmp esi, 8
jb 0x1005d4b0
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
movq qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4c]
push dword [ebp - 0x58]
push 0
call fcn.1006fab0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x48]
add eax, 4
cmp ecx, dword [ebp - 0x44]
je 0x1005d5d5
mov eax, dword [eax]
mov dword [ecx], eax
mov ecx, dword [ebp - 0x48]
add ecx, 4
mov dword [ebp - 0x48], ecx
jmp 0x1005d5e2
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1006fab0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x58]
add eax, 8
cmp ecx, dword [ebp - 0x44]
je 0x1005d5f7
mov eax, dword [eax]
mov dword [ecx], eax
add dword [ebp - 0x48], 4
jmp 0x1005d601
push eax
push ecx
lea ecx, [ebp - 0x4c]
call fcn.1006fab0
sub esp, 0xc
lea eax, [ebp - 0x4c]
lea ecx, [ebp - 0x320]
push eax
lea eax, [ebp - 0x324]
push eax
call fcn.10064e30
mov eax, dword [ebp - 0x4c]
sub esp, 0xc
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 8]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov dword [ecx + 8], eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064e30
mov edx, dword [ebp - 0x58]
sub esp, 0xc
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0xc]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x10]
mov dword [ecx + 8], eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064e30
mov edx, dword [ebp - 0x58]
sub esp, 0xc
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x10]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [edx + 0x14]
mov dword [ecx + 8], eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064e30
mov edx, dword [ebp - 0x58]
sub esp, 0xc
mov eax, dword [ebp - 0xc4]
mov ecx, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x14]
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0xc4]
mov eax, dword [edx + 0x18]
mov dword [ecx + 8], eax
mov ecx, dword [ebp - 0xc4]
mov eax, dword [edx + 4]
mov dword [ecx + 0xc], eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064e30
lea ecx, [ebp - 0x320]
call fcn.1005c850
mov edx, str.Faces:_n
mov ecx, 0x10291ab0
call fcn.10069160
mov eax, dword [ebp - 0x144]
xor esi, esi
sub eax, dword [ebp - 0x148]
sar eax, 2
test eax, eax
je 0x1005d78b
nop
lea edx, [ebp - 0x324]
mov dword [ebp - 0x324], esi
lea ecx, [ebp - 0x320]
call fcn.1005cb40
mov eax, dword [ebp - 0x144]
inc esi
sub eax, dword [ebp - 0x148]
sar eax, 2
cmp esi, eax
jb 0x1005d760
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x320]
mov esi, dword [ebp - 0x160]
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov dword [ebp - 0x70], ecx
mov eax, dword [eax]
mov esi, dword [esi + eax*4]
mov edi, esi
nop dword [eax]
lea edx, [ebp - 0x324]
mov dword [ebp - 0x324], esi
lea ecx, [ebp - 0x320]
call fcn.1005ca20
mov eax, esi
not eax
and eax, 1
lea ecx, [esi + eax*2]
mov eax, dword [ebp - 0x154]
add ecx, ecx
movups xmm0, xmmword [eax + ecx*8 - 0x10]
movups xmmword [ebp - 0x38], xmm0
mov esi, dword [ebp - 0x34]
cmp esi, edi
jne 0x1005d7b0
mov eax, dword [ebp - 0x58]
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0x160]
mov esi, dword [eax + ecx*4]
lea eax, [ebp - 0x320]
mov dword [ebp - 0x70], eax
mov edi, esi
nop dword [eax + eax]
lea edx, [ebp - 0x324]
mov dword [ebp - 0x324], esi
lea ecx, [ebp - 0x320]
call fcn.1005ca20
shl esi, 4
add esi, dword [ebp - 0x154]
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x38], xmm0
mov esi, dword [ebp - 0x34]
cmp esi, edi
jne 0x1005d810
mov eax, dword [ebp - 0x148]
mov edi, dword [ebp - 0x330]
mov dword [ebp - 0x324], 1
cmp dword [eax + 4], 0
jl 0x1005d875
push dword [ebp - 0x68]
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064c40
mov eax, dword [ebp - 0x148]
cmp dword [eax + 0xc], 0
mov dword [ebp - 0x324], 3
jl 0x1005d89a
push dword [ebp - 0x68]
lea eax, [ebp - 0x324]
push eax
lea ecx, [ebp - 0x320]
call fcn.10064c40
lea ecx, [ebp - 0x320]
call fcn.1005f720
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x320]
mov dword [ebp - 0x54], eax
call fcn.1005c850
mov edx, str.Faces:_n
mov ecx, 0x10291ab0
call fcn.10069160
mov eax, dword [ebp - 0x144]
xor esi, esi
sub eax, dword [ebp - 0x148]
sar eax, 2
test eax, eax
je 0x1005d90b
nop word [eax + eax]
lea edx, [ebp - 0x324]
mov dword [ebp - 0x324], esi
lea ecx, [ebp - 0x320]
call fcn.1005cb40
mov eax, dword [ebp - 0x144]
inc esi
sub eax, dword [ebp - 0x148]
sar eax, 2
cmp esi, eax
jb 0x1005d8e0
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x58]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x1005d9b0
mov ecx, dword [ecx]
lea edx, [ebp - 0x320]
mov eax, dword [ebp - 0x160]
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov dword [ebp - 0x70], edx
mov edx, dword [ebp - 0x154]
mov eax, dword [eax + ecx*4]
mov esi, eax
mov dword [ebp - 0x84], eax
mov ecx, eax
add ecx, ecx
movups xmm0, xmmword [edx + ecx*8]
movups xmmword [ebp - 0x38], xmm0
cmp dword [ebp - 0x2c], 0
jl 0x1005d988
movups xmm0, xmmword [edx + ecx*8]
lea edx, [ebp - 0x324]
lea ecx, [ebp - 0x320]
movups xmmword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x324], eax
call fcn.1005cb40
mov edx, dword [ebp - 0x154]
mov eax, dword [ebp - 0x84]
test al, 1
je 0x1005d994
shl eax, 4
sub eax, 0x10
jmp 0x1005d998
inc eax
shl eax, 4
movups xmm0, xmmword [edx + eax]
movups xmmword [ebp - 0x38], xmm0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x84], eax
cmp eax, esi
jne 0x1005d948
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x4c]
test edx, edx
je 0x1005da0a
mov eax, dword [ebp - 0x44]
sub eax, edx
sar eax, 2
lea ecx, [eax*4]
mov eax, edx
cmp ecx, 0x1000
jb 0x1005d9e8
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005e66b
push ecx
push edx
call fcn.100e476e
mov ecx, dword [ebp - 0x58]
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 4], 3
test ecx, ecx
je 0x1005da5e
mov eax, dword [ebp - 0x50]
sub eax, ecx
sar eax, 2
lea edx, [eax*4]
mov eax, ecx
cmp edx, 0x1000
jb 0x1005da3f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005e66b
push edx
push ecx
call fcn.100e476e
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
lea ecx, [ebp - 0x320]
mov dword [ebp - 4], 0xffffffff
call fcn.1005f030
lea eax, [edi*4]
push eax
call fcn.100e477c
add esp, 4
mov esi, eax
lea eax, [ebp - 0x68]
mov dword [ebp - 0x328], esi
push 0
push eax
push edi
push esi
push dword [ebp - 0x32c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0x68], 0
jne 0x1005e198
mov dword [ebp - 4], 6
push 0xac
mov dword [ebp - 0x74], 0
call fcn.100e430a
mov esi, eax
add esp, 4
mov dword [ebp - 0x324], esi
mov byte [ebp - 4], 7
lea ecx, [esi + 4]
push 0x102868cc
mov byte [esi], 0
call fcn.10063bf0
sub esp, 8
mov byte [ebp - 4], 8
lea ecx, [esi + 0x1c]
call fcn.10061cc0
lea ecx, [esi + 0x38]
push ecx
call fcn.10061bf0
mov dword [ebp - 0x74], esi
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x34]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
movq qword [ebp - 0x34], xmm0
call fcn.1004ba70
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x74]
push 0x178
mov cl, byte [eax]
add eax, 0x1c
mov byte [ebp - 0x84], cl
mov dword [ebp - 0x324], eax
call fcn.100e430a
mov edi, eax
add esp, 4
mov dword [ebp - 0x330], edi
mov byte [ebp - 4], 0xb
lea eax, [ebp - 0x34]
push dword [ebp - 0x84]
xorps xmm0, xmm0
lea esi, [edi + 0x10]
push dword [ebp - 0x324]
movq qword [edi], xmm0
mov ecx, esi
mov dword [edi + 8], 0
push eax
mov dword [edi + 4], 1
mov dword [edi + 8], 1
mov dword [edi], vtable.std::_Ref_count_obj2_class_autobahn::wamp_tcp_transport_.0
call fcn.1006dd30
mov dword [esi], vtable.autobahn::wamp_tcp_transport.0
xorps xmm0, xmm0
movlpd qword [ebp - 0x70], xmm0
mov dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], edi
test esi, esi
je 0x1005dbf9
mov eax, dword [esi + 8]
test eax, eax
je 0x1005dba4
mov eax, dword [eax + 4]
jmp 0x1005dba6
xor eax, eax
test eax, eax
jne 0x1005dbf9
lea eax, [edi + 4]
lock inc dword [eax]
lea eax, [edi + 8]
lock inc dword [eax]
mov ecx, dword [esi + 8]
mov dword [esi + 4], esi
mov dword [esi + 8], edi
or esi, 0xffffffff
test ecx, ecx
je 0x1005dbd4
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x1005dbd4
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, esi
lea ecx, [edi + 4]
lock xadd dword [ecx], eax
jne 0x1005dbfc
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lea ecx, [edi + 8]
lock xadd dword [ecx], eax
jne 0x1005dbfc
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
jmp 0x1005dbfc
or esi, 0xffffffff
xorps xmm0, xmm0
mov byte [ebp - 4], 0xc
push 0xd0
movlpd qword [ebp - 0x90], xmm0
call fcn.100e430a
add esp, 4
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x78], eax
mov byte [ebp - 4], 0xd
lea ecx, [eax + 4]
push dword [ebp - 0x84]
xorps xmm0, xmm0
mov dword [ebp - 0x330], ecx
movq qword [eax], xmm0
mov dword [eax + 8], 0
mov dword [ecx], 1
lea ecx, [eax + 0x10]
mov dword [eax + 8], 1
mov dword [eax], vtable.std::_Ref_count_obj2_class_autobahn::wamp_session_.0
lea eax, [ebp - 0x34]
push eax
mov dword [ebp - 0x338], ecx
call fcn.10055730
mov eax, dword [ebp - 0x338]
xorps xmm0, xmm0
mov edx, dword [ebp - 0x324]
movlpd qword [ebp - 0x90], xmm0
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
test eax, eax
je 0x1005dd35
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x1005dc9e
mov ecx, dword [ecx + 4]
jmp 0x1005dca0
xor ecx, ecx
test ecx, ecx
jne 0x1005dd35
mov eax, dword [ebp - 0x330]
lock inc dword [eax]
mov ecx, dword [ebp - 0x8c]
xor edx, edx
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x330], edx
test ecx, ecx
je 0x1005dcdb
mov edx, eax
lock inc dword [ecx + 8]
mov dword [ebp - 0x330], ecx
mov ecx, dword [ebp - 0x330]
mov dword [eax + 4], edx
mov edx, dword [eax + 8]
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x84]
test edx, edx
je 0x1005dd0a
mov eax, esi
lock xadd dword [edx + 8], eax
jne 0x1005dd0a
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x84]
test ecx, ecx
je 0x1005dd2f
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x1005dd2f
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x84]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x1005dd2f
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x8c]
mov eax, dword [edi + 0x10]
mov ecx, dword [ebp - 0x90]
mov dword [ebp - 0x324], ecx
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
test edx, edx
je 0x1005dd60
lock inc dword [edx + 4]
mov edx, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x324]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], edx
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 0xf
push ecx
lea ecx, [edi + 0x10]
call dword [eax + 0x24]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x324], ecx
test ecx, ecx
je 0x1005dda8
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x1005dda8
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x324]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x1005dda8
mov eax, dword [ecx]
call dword [eax + 4]
xorps xmm0, xmm0
movlpd qword [ebp - 0x7c], xmm0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
movlpd qword [ebp - 0x54], xmm0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
movlpd qword [ebp - 0x48], xmm0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
movlpd qword [ebp - 0xa8], xmm0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xa4], 0
movlpd qword [ebp - 0xa0], xmm0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
movlpd qword [ebp - 0x98], xmm0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov byte [ebp - 4], 0x15
lea ecx, [edi + 0x10]
mov eax, dword [ecx]
lea edx, [ebp - 0x88]
push edx
mov eax, dword [eax + 4]
call eax
mov dword [ebp - 0x324], eax
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x358], ecx
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x354], ecx
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x350], ecx
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34c], ecx
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x348], ecx
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0x344], ecx
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x340], ecx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x33c], ecx
mov ecx, eax
call fcn.10075ac0
lea ecx, [ebp - 0x358]
push ecx
mov ecx, dword [ebp - 0x324]
push eax
lea eax, [ebp - 0x334]
push eax
call fcn.1007cc00
lea eax, [ebp - 0x334]
push eax
lea ecx, [ebp - 0x7c]
call fcn.10060ea0
mov edx, dword [ebp - 0x330]
mov dword [ebp - 0x324], edx
test edx, edx
je 0x1005df19
mov ecx, esi
lea eax, [edx + 4]
lock xadd dword [eax], ecx
cmp ecx, 1
jne 0x1005df19
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x324]
mov edx, esi
lea eax, [ecx + 8]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x1005df19
mov eax, dword [ecx]
call dword [eax + 8]
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x324], edx
test edx, edx
je 0x1005df5b
mov ecx, esi
lea eax, [edx + 4]
lock xadd dword [eax], ecx
cmp ecx, 1
jne 0x1005df5b
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x324]
mov edx, esi
lea eax, [ecx + 8]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x1005df5b
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [edi + 0x10]
lea ecx, [edi + 0x10]
call dword [eax + 0x28]
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x324], edx
test edx, edx
je 0x1005dfa2
mov ecx, esi
lea eax, [edx + 4]
lock xadd dword [eax], ecx
cmp ecx, 1
jne 0x1005dfa2
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x324]
mov edx, esi
lea eax, [ecx + 8]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x1005dfa2
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp - 0x9c]
mov dword [ebp - 0x324], edx
test edx, edx
je 0x1005dfe0
mov ecx, esi
lea eax, [edx + 4]
lock xadd dword [eax], ecx
cmp ecx, 1
jne 0x1005dfe0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x324]
mov edx, esi
lea eax, [ecx + 8]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x1005dfe0
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp - 0xa4]
mov dword [ebp - 0x324], edx
test edx, edx
je 0x1005e01e
mov ecx, esi
lea eax, [edx + 4]
lock xadd dword [eax], ecx
cmp ecx, 1
jne 0x1005e01e
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x324]
mov edx, esi
lea eax, [ecx + 8]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x1005e01e
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x324], edx
test edx, edx
je 0x1005e059
mov ecx, esi
lea eax, [edx + 4]
lock xadd dword [eax], ecx
cmp ecx, 1
jne 0x1005e059
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x324]
mov edx, esi
lea eax, [ecx + 8]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x1005e059
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x324], edx
test edx, edx
je 0x1005e094
mov ecx, esi
lea eax, [edx + 4]
lock xadd dword [eax], ecx
cmp ecx, 1
jne 0x1005e094
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x324]
mov edx, esi
lea eax, [ecx + 8]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x1005e094
mov eax, dword [ecx]
call dword [eax + 8]
mov edx, dword [ebp - 0x78]
test edx, edx
je 0x1005e0c6
mov ecx, esi
lea eax, [edx + 4]
lock xadd dword [eax], ecx
cmp ecx, 1
jne 0x1005e0c6
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 4]
mov ecx, dword [ebp - 0x78]
mov edx, esi
lea eax, [ecx + 8]
lock xadd dword [eax], edx
cmp edx, 1
jne 0x1005e0c6
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x324], ecx
test ecx, ecx
je 0x1005e0f7
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x1005e0f7
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x324]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x1005e0f7
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, esi
lea ecx, [edi + 4]
lock xadd dword [ecx], eax
jne 0x1005e11a
mov eax, dword [edi]
mov ecx, edi
call dword [eax]
mov eax, esi
lea ecx, [edi + 8]
lock xadd dword [ecx], eax
jne 0x1005e11a
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 4]
lock xadd dword [0x1029592c], esi
dec esi
jne 0x1005e12b
call dword [sym.imp.WS2_32.dll_WSACleanup]
lea ecx, [ebp - 0x34]
call fcn.1004a7c0
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x74]
test esi, esi
je 0x1005e192
mov ecx, dword [esi + 0x18]
cmp ecx, 0x10
jb 0x1005e172
mov eax, dword [esi + 4]
inc ecx
cmp ecx, 0x1000
jb 0x1005e168
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005e666
mov eax, edx
push ecx
push eax
call fcn.100e476e
add esp, 8
push 0xac
push esi
mov dword [esi + 0x14], 0
mov dword [esi + 0x18], 0xf
mov byte [esi + 4], 0
call fcn.100e476e
add esp, 8
mov esi, dword [ebp - 0x328]
push dword [ebp - 0x32c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0
mov dword [esi + 0x11223], esi
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add eax, 0x1600
add esi, 0x10af0
mov ecx, 0x1eb
mov dword [ebp - 0x32c], eax
mov edi, eax
mov dword [ebp - 0x330], eax
rep movsd dword es:[edi], dword [esi]
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
movq qword [ebp - 0x80], xmm0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 4], 0x18
mov dword [ebp - 0x40], 0
push 4
push str.info
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
mov byte [ebp - 4], 0x18
call fcn.1004eb90
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x78]
je 0x1005e286
movups xmm0, xmmword [ebp - 0x40]
mov dword [eax], 0
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x30]
movq qword [eax + 0x10], xmm0
add dword [ebp - 0x7c], 0x18
mov edx, 0xf
mov byte [ebp - 0x40], 0
jmp 0x1005e296
lea ecx, [ebp - 0x40]
push ecx
push eax
lea ecx, [ebp - 0x80]
call fcn.1006fec0
mov edx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0x18
cmp edx, 0x10
jb 0x1005e2cb
mov ecx, dword [ebp - 0x40]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1005e2c1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005e670
push edx
push ecx
call fcn.100e476e
add esp, 8
lea esi, [ebp - 0x2b]
nop
mov eax, 0xcccccccd
dec esi
mul dword [ebp - 0x32c]
shr edx, 3
mov al, dl
shl al, 2
lea ecx, [eax + edx]
mov eax, dword [ebp - 0x32c]
add cl, cl
sub al, cl
add al, 0x30
mov byte [esi], al
mov eax, edx
mov dword [ebp - 0x32c], eax
test eax, eax
jne 0x1005e2d0
mov dword [ebp - 0x64], edx
lea eax, [ebp - 0x2b]
mov dword [ebp - 0x54], edx
mov byte [ebp - 0x64], dl
mov edi, 0xf
mov dword [ebp - 0x50], edi
mov byte [ebp - 4], 0x18
cmp esi, eax
je 0x1005e32c
sub eax, esi
lea ecx, [ebp - 0x64]
push eax
push esi
call fcn.1004eb90
mov edi, dword [ebp - 0x50]
mov byte [ebp - 4], 0x20
call fcn.100a0180
push dword [0x10295830]
call fcn.1009c4d0
add esp, 4
push 0
push fcn.1004a420
push dword [0x10295830]
call fcn.1009c8e0
add esp, 0xc
push dword [0x10295830]
call fcn.1009c5c0
add esp, 4
push dword [0x10295830]
call fcn.1009c380
add esp, 4
push dword [0x10295830]
call fcn.1009c360
add esp, 4
push 0x1026a9b0
push dword [0x10295830]
call fcn.10095e90
push eax
mov dword [0x10295874], eax
call fcn.10097410
add esp, 0xc
push dword [0x10295874]
call fcn.10097dc0
add esp, 4
mov dword [0x10295874], 0
push 0x1026a953
push dword [0x10295830]
call fcn.10095e90
push eax
mov dword [0x10295874], eax
call fcn.10097410
add esp, 0xc
push dword [0x10295874]
call fcn.10097dc0
add esp, 4
mov dword [0x10295874], 0
mov esi, 0x400
push 0
push 0
push 0
lea eax, [ebp - 0x70]
mov dword [ebp - 0x70], 0x1026a953
push eax
push 0
push 2
push 0x1026c084
push dword [0x10295830]
mov dword [ebp - 0x6c], 0x1026a953
call fcn.10095fa0
push eax
mov dword [0x10295874], eax
call fcn.10097410
add esp, 0x24
push dword [0x10295874]
call fcn.10097dc0
add esp, 4
mov dword [0x10295874], 0
sub esi, 1
jne 0x1005e3f3
push 0x1026c088
push dword [0x10295830]
call fcn.10095e90
push eax
mov dword [0x10295874], eax
call fcn.10097410
add esp, 0xc
push dword [0x10295874]
call fcn.10097530
inc eax
add esp, 4
mov dword [ebp - 0x324], eax
test eax, eax
jle 0x1005e49a
mov edi, eax
push esi
push dword [0x10295874]
call fcn.10097570
inc esi
add esp, 8
cmp esi, edi
jl 0x1005e483
mov edi, dword [ebp - 0x50]
push dword [0x10295874]
call fcn.10097520
inc eax
add esp, 4
xor esi, esi
mov dword [ebp - 0x324], eax
test eax, eax
jle 0x1005e503
mov edi, eax
push 0
push esi
push dword [0x10295874]
call fcn.10097b50
add esp, 0xc
push 1
push esi
push dword [0x10295874]
call fcn.10097b50
add esp, 0xc
push 2
push esi
push dword [0x10295874]
call fcn.10097b50
add esp, 0xc
push 3
push esi
push dword [0x10295874]
call fcn.10097b50
inc esi
add esp, 0xc
cmp esi, edi
jl 0x1005e4b7
mov edi, dword [ebp - 0x50]
push dword [0x10295874]
call fcn.10097dc0
mov eax, dword [ebp - 0x328]
add esp, 4
mov dword [0x10295874], 0
cmp byte [eax + 0x1122b], 0
je 0x1005e532
mov eax, dword [ebp - 0x330]
call eax
cmp edi, 0x10
jb 0x1005e565
mov ecx, dword [ebp - 0x64]
lea edx, [edi + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x1005e55b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005e670
push edx
push ecx
call fcn.100e476e
add esp, 8
mov ecx, dword [ebp - 0x80]
test ecx, ecx
je 0x1005e5bf
mov edx, dword [ebp - 0x7c]
push ecx
call fcn.10071520
mov ecx, dword [ebp - 0x78]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x80]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 3
cmp ecx, 0x1000
jb 0x1005e5b5
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1005e670
push ecx
push esi
call fcn.100e476e
add esp, 8
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.100e40d6
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
sub edi, esi
mov dword [ebp - 0x328], edi
sbb ecx, edx
mov dword [ebp - 0x330], ecx
call fcn.100e230c
push 0
push 0x64
push edx
push eax
call fcn.100e4c30
mov ecx, dword [ebp - 0x328]
mov edi, edx
mov edx, dword [ebp - 0x330]
mov esi, eax
call fcn.100e4df0
comisd xmm0, xmmword [ebp - 0x70]
jbe 0x1005e62a
add esi, 0xad160000
adc edi, 0x311cd
jmp 0x1005e636
add esi, dword [ebp - 0x328]
adc edi, dword [ebp - 0x330]
push 0
push 0x3b9aca00
push edi
push esi
call fcn.100e4b80
mov dword [ebp - 0x38], eax
imul eax, eax, 0x3b9aca00
mov dword [ebp - 0x34], edx
sub esi, eax
lea eax, [ebp - 0x38]
push eax
mov dword [ebp - 0x30], esi
call fcn.100e399c
add esp, 4
jmp 0x1005d3a1
call fcn.100f421d
call fcn.100f421d
call fcn.100f421d
int3