Function at 0x5d8770
Capabilities:
Check http status code
Get disk information

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x63149b
mov eax, dword fs:[0]
push eax
sub esp, 0x2dc
mov eax, dword [0x659af8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x188], edi
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x18c], 0
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x1a4], 0
lea ecx, [eax + eax*2]
mov eax, dword [edi + 0x2c4]
shl ecx, 2
add eax, ecx
mov dword [ebp - 0x1b0], ecx
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [edi + 0x70]
xor ecx, ecx
sar edx, 5
and eax, 0xfffffbff
mov esi, edx
mov dword [edi + 0x70], eax
shr esi, 0x1f
xor eax, eax
add esi, edx
movq qword [ebp - 0x1c], xmm0
xor edx, edx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x194], esi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1bc], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x14], edx
test esi, esi
je 0x5d887a
cmp esi, 0x3fffffff
ja 0x5da229
push esi
lea ecx, [ebp - 0x1c]
call fcn.004c7df0
lea ecx, [esi*4]
mov dword [ebp - 0x1c], eax
push ecx
push 0
lea esi, [ecx + eax]
mov edx, esi
mov dword [ebp - 0x1bc], esi
push eax
mov dword [ebp - 0x1c4], edx
mov dword [ebp - 0x14], edx
call fcn.0060a6d0
mov dword [ebp - 0x18], esi
mov ecx, esi
mov esi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, esi
jmp 0x5d887d
mov esi, dword [ebp - 0x1c]
sub ecx, edx
mov dword [ebp - 4], 1
sar ecx, 2
xor eax, eax
test ecx, ecx
jle 0x5d88ac
mov ecx, dword [ebp - 0x1bc]
sub ecx, esi
sar ecx, 2
nop word [eax + eax]
mov dword [edx + eax*4], 0
inc eax
cmp eax, ecx
jl 0x5d88a0
mov esi, dword [ebp - 0x18c]
mov dword [ebp - 0x180], esi
nop dword [eax + eax]
push 0
push dword [ebp - 0x1c0]
mov ecx, edi
call fcn.005dbd50
xor ecx, ecx
mov dword [ebp - 0x1a0], ecx
cmp dword [ebp - 0x194], ecx
jle 0x5d8aca
xor eax, eax
mov dword [ebp - 0x190], eax
nop dword [eax + eax]
mov esi, dword [edi + 0x2c4]
add esi, dword [ebp - 0x1b0]
mov esi, dword [esi]
add esi, eax
mov eax, dword [esi + 8]
lea edi, [esi + 0x90]
and eax, 0x17
cmp al, 5
jne 0x5d8a6d
mov dword [esi + 8], 1
mov dword [ebp - 0x198], 0
push dword [esi + 0x1c]
mov ecx, dword [edi]
push dword [esi + 0x18]
push edi
push esi
call fcn.005daca0
cmp dword [edi + 4], 0
jne 0x5d8962
test eax, eax
je 0x5d8962
mov dword [esi + 0xa8], eax
xor al, al
cmp dword [ebp - 0x198], 0
jne 0x5d89bf
mov dword [esi + 8], 2
mov dword [ebp - 0x198], 1
jmp 0x5d8925
cmp dword [ebp - 0x198], 0
mov al, 1
mov byte [ebp - 0x179], al
jbe 0x5d89bf
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 4
je 0x5d89b9
mov eax, dword [esi + 4]
and eax, 0xf00
cmp eax, 0x100
je 0x5d89ab
cmp eax, 0x200
je 0x5d899d
cmp eax, 0x400
jne 0x5d89b5
mov dword [esi + 0xa8], 0xc8
xor al, al
jmp 0x5d89bf
mov dword [esi + 0xa8], 0x11
xor al, al
jmp 0x5d89bf
mov al, byte [ebp - 0x179]
mov dword [esi + 8], 5
test al, al
je 0x5d8a94
mov edi, dword [ebp - 0x188]
mov edx, dword [ebp - 0x1c0]
mov ecx, dword [ebp - 0x1a0]
push 0
mov eax, dword [edi + 0x2ec]
push esi
push ecx
mov dword [eax + edx*4], ecx
mov eax, esp
lea ecx, [ebp - 0x2c4]
push ecx
mov ecx, edi
mov dword [eax], 0x24
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 0
jne 0x5da1a2
push 0
lea eax, [edi + 0x300]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2e4]
push ecx
mov ecx, edi
mov dword [eax], 6
mov eax, dword [edi]
call dword [eax + 8]
push 0
lea eax, [edi + 0x304]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x24c]
push ecx
mov ecx, edi
mov dword [eax], 7
mov eax, dword [edi]
call dword [eax + 8]
push 0
push esi
push ecx
mov eax, esp
lea ecx, [ebp - 0x29c]
push ecx
mov ecx, edi
mov dword [eax], 0x25
mov eax, dword [edi]
call dword [eax + 8]
jmp 0x5da1a2
push dword [esi + 0x1c]
mov ecx, dword [edi]
push dword [esi + 0x18]
push edi
push esi
call fcn.005daca0
cmp dword [edi + 4], 0
jne 0x5d89ce
test eax, eax
je 0x5d89ce
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0x190]
inc ecx
mov edi, dword [ebp - 0x188]
add eax, 0xc0
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x190], eax
cmp ecx, dword [ebp - 0x194]
jl 0x5d88f0
mov esi, dword [ebp - 0x180]
push 0x98
lea eax, [ebp - 0xbc]
mov byte [ebp - 0x1b4], 0
push 0
push eax
call fcn.0060a6d0
add esp, 0xc
mov dword [ebp - 0xbc], 0x49897c
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x6c], 0x4988e0
push 0
push 0
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 3
or esi, 1
lea ecx, [ebp - 0xbc]
push eax
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x18c], esi
call fcn.004be610
mov eax, dword [ebp - 0xbc]
push 8
mov dword [ebp - 4], 4
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xbc], 0x498978
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xc0], eax
mov dword [ebp - 0xb8], 0x4988f8
call fcn.006084b7
mov edi, eax
add esp, 4
test edi, edi
je 0x5d8b9f
xorps xmm0, xmm0
movq qword [edi], xmm0
push 1
mov byte [ebp - 4], 5
call fcn.005f3a64
add esp, 4
mov dword [edi + 4], eax
jmp 0x5d8ba1
xor edi, edi
lea eax, [ebp - 0xb4]
mov dword [ebp - 0x84], edi
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xa8], eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x98], eax
lea eax, [ebp - 0x94]
mov dword [ebp - 0x8c], eax
lea eax, [ebp - 0x90]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0xb8], 0x498938
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x7c], 4
xorps xmm0, xmm0
mov dword [ebp - 0xfc], 0
movups xmmword [ebp - 0x11c], xmm0
xor edi, edi
mov dword [ebp - 0x1a0], 0
movups xmmword [ebp - 0x10c], xmm0
mov dword [ebp - 0x11c], 0x4ac8ec
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], edi
mov dword [ebp - 0x110], edi
mov byte [ebp - 0x10c], 1
movups xmmword [ebp - 0x108], xmm0
mov byte [ebp - 4], 7
cmp dword [ebp - 0x194], edi
jbe 0x5d8cd3
mov edi, dword [ebp - 0x194]
xor ecx, ecx
mov eax, edi
mov edx, 0x28
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.006084f5
add esp, 4
mov dword [ebp - 0x110], edi
mov dword [ebp - 0x114], edi
jmp 0x5d8cd5
xor eax, eax
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x194]
xor edx, edx
mov byte [ebp - 4], 8
test ecx, ecx
jle 0x5d8d5e
mov esi, dword [ebp - 0x188]
nop word [eax + eax]
mov eax, dword [esi + 0x2c4]
lea ecx, [edx + edx*2]
add eax, dword [ebp - 0x1b0]
mov esi, dword [ebp - 0x198]
shl ecx, 6
add ecx, dword [eax]
cmp edx, edi
sbb eax, eax
and eax, edx
inc edx
movups xmm0, xmmword [ecx + 4]
lea eax, [eax + eax*4]
movups xmmword [esi + eax*8], xmm0
movups xmm0, xmmword [ecx + 0x14]
movups xmmword [esi + eax*8 + 0x10], xmm0
movq xmm0, qword [ecx + 0x24]
mov ecx, esi
mov esi, dword [ebp - 0x188]
movq qword [ecx + eax*8 + 0x20], xmm0
cmp edx, dword [ebp - 0x194]
jl 0x5d8d00
mov esi, dword [ebp - 0x180]
mov eax, ecx
mov ecx, dword [ebp - 0x194]
xor edx, edx
test edi, edi
mov edi, dword [ebp - 0x188]
push ecx
cmove eax, edx
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2a8]
push ecx
mov ecx, edi
mov dword [eax], 0x20
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [ebp - 0x1a4], 0
seta byte [ebp - 0x179]
mov eax, dword [eax]
cmp eax, 4
je 0x5da05d
cmp eax, 8
je 0x5da18c
push 0
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x2a4]
push ecx
mov ecx, edi
mov dword [eax], 9
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x5d8e08
push 0
push 0
push ecx
mov eax, esp
mov byte [ebp - 0x179], 1
lea ecx, [ebp - 0x2a0]
push ecx
mov ecx, edi
mov dword [eax], 8
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp - 0x1b4]
movzx ecx, cl
cmp dword [eax], 4
mov eax, 1
cmove ecx, eax
mov dword [ebp - 0x1b4], ecx
push 0
lea eax, [edi + 0x300]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2c0]
push ecx
mov ecx, edi
mov dword [eax], 6
mov eax, dword [edi]
call dword [eax + 8]
push 0
lea eax, [edi + 0x304]
push eax
push ecx
mov dword [ebp - 0x1a8], eax
lea ecx, [ebp - 0x2e8]
mov eax, esp
push ecx
mov ecx, edi
mov dword [eax], 7
mov eax, dword [edi]
call dword [eax + 8]
lea eax, [ebp - 0xbc]
mov byte [ebp - 0x1ac], 1
xorps xmm0, xmm0
push 0x4ac8f0
push eax
movlpd qword [ebp - 0x24], xmm0
call fcn.004ca700
mov edi, eax
add esp, 8
mov ecx, dword [edi]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + edi + 0x30]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x284], ecx
mov edx, dword [ecx]
call dword [edx + 4]
lea eax, [ebp - 0x288]
mov byte [ebp - 4], 9
push eax
call fcn.004be050
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x284]
mov byte [ebp - 0x250], al
mov byte [ebp - 4], 8
test ecx, ecx
je 0x5d8ecf
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x5d8ecf
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x250]
mov ecx, edi
call fcn.0052ea30
mov ecx, edi
call fcn.004c9760
cmp dword [ebp - 0x194], 0
mov dword [ebp - 0x1b8], 0
jle 0x5d9705
xor esi, esi
mov dword [ebp - 0x190], esi
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x1a8]
mov eax, dword [eax + 0x2c4]
add eax, dword [ebp - 0x1b0]
mov edi, dword [eax]
mov eax, 0x4aa490
add edi, esi
cmp dword [ecx], 0x4e4
mov ecx, 0x4ac91c
cmove eax, ecx
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.004ca700
mov eax, dword [ebp - 0x1a0]
add esp, 8
or eax, dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x1a0], eax
lea eax, [ebp - 0x2e0]
push eax
call fcn.0050e620
cmp dword [eax + 0x18], 0x10
lea ecx, [eax + 4]
mov byte [ebp - 4], 0xa
jb 0x5d8f6e
mov ecx, dword [eax + 4]
push dword [eax + 0x14]
lea eax, [ebp - 0xbc]
push ecx
push eax
call fcn.00528b70
mov edx, dword [ebp - 0x2c8]
add esp, 0xc
mov byte [ebp - 4], 8
mov dword [ebp - 0x2e0], 0x498708
cmp edx, 0x10
jb 0x5d8fd1
mov ecx, dword [ebp - 0x2dc]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0xb
cmp edx, 0x1000
jb 0x5d8fc3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
mov byte [ebp - 4], 8
cmp byte [ebp - 0x179], 0
mov dword [ebp - 0x2cc], 0
mov dword [ebp - 0x2c8], 0xf
mov byte [ebp - 0x2dc], 0
je 0x5d964e
mov eax, dword [ebp - 0x1b8]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [edi + 0xa8]
mov dword [ecx + eax*4], esi
test esi, esi
jns 0x5d9025
mov eax, dword [ebp - 0x1ac]
mov word [ebp - 0x20], 0
mov byte [ebp - 0x1e], 0
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x24], esi
cmp byte [ebp - 0x1b4], 0
je 0x5d960d
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
mov dword [ebp - 0xf4], 0x498708
mov byte [ebp - 4], 0xc
test esi, esi
js 0x5d907b
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0xf4]
push eax
push esi
push edi
mov edi, dword [ebp - 0x188]
mov ecx, edi
call fcn.005dbe70
jmp 0x5d9081
mov edi, dword [ebp - 0x188]
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x8c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x28c], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0xd
push eax
call fcn.004be050
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x28c]
mov byte [ebp - 0x1f8], al
mov byte [ebp - 4], 0xc
test ecx, ecx
je 0x5d90e4
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x5d90e4
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x1f8]
lea ecx, [ebp - 0xbc]
call fcn.0052ea30
lea ecx, [ebp - 0xbc]
call fcn.004c9760
lea eax, [ebp - 0xbc]
push 0x4ac920
push eax
call fcn.004ca700
add esp, 8
mov dword [ebp - 0x170], 0
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x24]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2ac]
push ecx
mov ecx, edi
mov dword [eax], 0xa
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x5d9567
test esi, esi
js 0x5d9550
mov eax, dword [ebp - 0x180]
xor edi, edi
mov ecx, dword [ebp - 0x7c]
or eax, 4
mov byte [ebp - 4], 0xe
mov dword [ebp - 0x218], edi
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x18c], eax
test cl, 2
jne 0x5d91ac
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x5d91ac
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x5d91cf
test cl, 4
jne 0x5d91e5
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5d91e5
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x228]
call fcn.004c82a0
mov edi, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x180]
and eax, 0xfffffffb
mov dword [ebp - 4], 0xc
or eax, 2
or eax, 0x10
mov byte [ebp - 4], 0x10
xor esi, esi
mov dword [ebp - 0x1c8], 0xf
mov dword [ebp - 0x1cc], esi
mov byte [ebp - 0x1dc], 0
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x18c], eax
test cl, 2
jne 0x5d9248
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x5d9248
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x5d926b
test cl, 4
jne 0x5d927e
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5d927e
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x1dc]
call fcn.004c82a0
mov esi, dword [ebp - 0x1cc]
mov eax, dword [ebp - 0x180]
and eax, 0xffffffef
mov dword [ebp - 4], 0xf
or eax, 8
mov dword [ebp - 0x180], eax
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0xf
mov byte [ebp - 0x210], 0
cmp esi, edi
jb 0x5da238
or ecx, 0xffffffff
lea eax, [ebp - 0x1dc]
sub esi, edi
cmp esi, 0xffffffff
cmovb ecx, esi
cmp dword [ebp - 0x1c8], 0x10
push ecx
cmovae eax, dword [ebp - 0x1dc]
lea ecx, [ebp - 0x210]
add eax, edi
push eax
call fcn.004c82a0
or dword [ebp - 0x180], 0x20
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x12
call fcn.004c7af0
cmp dword [ebp - 0x1fc], 0x10
lea eax, [ebp - 0x210]
mov esi, dword [ebp - 0x210]
mov edi, dword [ebp - 0x200]
cmovae eax, esi
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x184], esi
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x19c], edx
cmp edi, 0x7fffffff
ja 0x5da233
test edi, edi
je 0x5d9437
mov eax, edx
and eax, 6
cmp al, 6
je 0x5d9437
cmp edi, 0x1000
jb 0x5d9383
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x5da22e
push eax
call fcn.006084b7
add esp, 4
test eax, eax
je 0x5da224
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x5d938e
push edi
call fcn.006084b7
add esp, 4
mov esi, eax
push edi
push dword [ebp - 0x18c]
push esi
call fcn.0060a150
mov edx, dword [ebp - 0x19c]
lea eax, [edi + esi]
mov dword [ebp - 0x18c], eax
add esp, 0xc
mov dword [ebp - 0x80], eax
mov eax, edx
and eax, 4
mov dword [ebp - 0x19c], eax
jne 0x5d93da
mov eax, dword [ebp - 0xac]
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], esi
mov eax, dword [ebp - 0x8c]
mov dword [eax], edi
mov edi, dword [ebp - 0x80]
jmp 0x5d93e0
mov edi, dword [ebp - 0x18c]
test dl, 2
jne 0x5d942c
mov eax, dword [ebp - 0xa8]
test dl, 0x18
mov ecx, esi
cmovne ecx, edi
sub edi, ecx
cmp dword [ebp - 0x19c], 0
mov dword [eax], esi
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov dword [eax], edi
je 0x5d942c
mov eax, dword [ebp - 0xac]
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
mov eax, dword [ebp - 0x8c]
mov dword [eax], esi
mov esi, dword [ebp - 0x184]
or edx, 1
jmp 0x5d943e
mov dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x1fc]
mov dword [ebp - 0x7c], edx
cmp eax, 0x10
jb 0x5d947b
lea ecx, [eax + 1]
mov eax, esi
mov byte [ebp - 4], 0x13
cmp ecx, 0x1000
jb 0x5d9471
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push ecx
push esi
call fcn.006084e7
add esp, 8
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x1fc], 0xf
mov byte [ebp - 0x210], 0
cmp edx, 0x10
jb 0x5d94d4
mov ecx, dword [ebp - 0x1dc]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x14
cmp edx, 0x1000
jb 0x5d94ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x1cc], 0
mov dword [ebp - 0x1c8], 0xf
mov byte [ebp - 0x1dc], 0
mov byte [ebp - 4], 0xc
cmp edx, 0x10
jb 0x5d9535
mov ecx, dword [ebp - 0x228]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x15
cmp edx, 0x1000
jb 0x5d9527
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
push dword [ebp - 0x170]
lea eax, [ebp - 0xbc]
push eax
call fcn.004ca700
add esp, 8
jmp 0x5d9591
cmp dword [ebp - 0xdc], 0x10
lea eax, [ebp - 0xf0]
push dword [ebp - 0xe0]
cmovae eax, dword [ebp - 0xf0]
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00528b70
add esp, 0xc
mov eax, dword [ebp - 0x1ac]
xor ecx, ecx
cmp byte [ebp - 0x1d], cl
mov edx, dword [ebp - 0xdc]
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0xf4], 0x498708
mov dword [ebp - 0x1ac], eax
cmp edx, 0x10
jb 0x5d95f0
mov ecx, dword [ebp - 0xf0]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x16
cmp edx, 0x1000
jb 0x5d95e6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
mov dword [ebp - 0xe0], 0
mov dword [ebp - 0xdc], 0xf
mov byte [ebp - 0xf0], 0
jmp 0x5d9648
mov ecx, edi
call fcn.0050e580
push 0x49a73c
push esi
push eax
lea eax, [ebp - 0xbc]
push 0x4ac934
push eax
call fcn.004ca700
add esp, 8
push eax
call fcn.004ca700
add esp, 8
mov ecx, eax
call fcn.004c2cb0
push eax
call fcn.004ca700
add esp, 8
mov esi, dword [ebp - 0x190]
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x8c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x294], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0x17
push eax
call fcn.004be050
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x294]
mov byte [ebp - 0x244], al
mov byte [ebp - 4], 8
test ecx, ecx
je 0x5d96b1
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x5d96b1
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x244]
lea ecx, [ebp - 0xbc]
call fcn.0052ea30
lea ecx, [ebp - 0xbc]
call fcn.004c9760
mov eax, dword [ebp - 0x1b8]
add esi, 0xc0
inc eax
mov dword [ebp - 0x190], esi
mov dword [ebp - 0x1b8], eax
cmp eax, dword [ebp - 0x194]
jl 0x5d8f02
cmp byte [ebp - 0x1ac], 0
mov esi, dword [ebp - 0x180]
je 0x5d9b4c
mov edi, dword [ebp - 0x188]
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x174], 0
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2b0]
push ecx
mov ecx, edi
mov dword [eax], 0xb
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x5d9b52
mov ecx, dword [ebp - 0x7c]
or esi, 0x80
mov byte [ebp - 4], 0x18
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
mov dword [ebp - 0x18c], esi
test cl, 2
jne 0x5d9794
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x5d9794
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x5d97b7
test cl, 4
jne 0x5d97c7
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5d97c7
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x268]
call fcn.004c82a0
mov ecx, dword [ebp - 0x7c]
and esi, 0xffffff7f
mov dword [ebp - 4], 8
or esi, 0x40
xor edi, edi
mov byte [ebp - 4], 0x1a
or esi, 0x200
mov dword [ebp - 0x1e4], edi
mov dword [ebp - 0x1e0], 0xf
mov byte [ebp - 0x1f4], 0
mov dword [ebp - 0x18c], esi
test cl, 2
jne 0x5d9824
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x5d9824
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x5d9847
test cl, 4
jne 0x5d985a
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5d985a
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x1f4]
call fcn.004c82a0
mov edi, dword [ebp - 0x1e4]
and esi, 0xfffffdff
mov dword [ebp - 4], 0x19
or esi, 0x100
mov edx, dword [ebp - 0x258]
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
cmp edi, edx
jb 0x5da238
sub edi, edx
lea eax, [ebp - 0x1f4]
or ecx, 0xffffffff
cmp edi, 0xffffffff
cmovb ecx, edi
cmp dword [ebp - 0x1e0], 0x10
push ecx
cmovae eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x240]
add eax, edx
push eax
call fcn.004c82a0
or esi, 0x400
mov dword [ebp - 0x180], esi
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x1c
call fcn.004c7af0
cmp dword [ebp - 0x22c], 0x10
lea ecx, [ebp - 0x240]
mov eax, dword [ebp - 0x240]
mov edi, dword [ebp - 0x230]
cmovae ecx, eax
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x19c], edx
cmp edi, 0x7fffffff
ja 0x5da233
test edi, edi
je 0x5d9a18
mov eax, edx
and eax, 6
cmp al, 6
je 0x5d9a18
cmp edi, 0x1000
jb 0x5d9964
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x5da22e
push eax
call fcn.006084b7
add esp, 4
test eax, eax
je 0x5da224
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x5d996f
push edi
call fcn.006084b7
add esp, 4
mov esi, eax
push edi
push dword [ebp - 0x184]
push esi
call fcn.0060a150
mov edx, dword [ebp - 0x19c]
lea eax, [esi + edi]
mov dword [ebp - 0x184], eax
add esp, 0xc
mov dword [ebp - 0x80], eax
mov eax, edx
and eax, 4
mov dword [ebp - 0x19c], eax
jne 0x5d99bb
mov eax, dword [ebp - 0xac]
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], esi
mov eax, dword [ebp - 0x8c]
mov dword [eax], edi
mov edi, dword [ebp - 0x80]
jmp 0x5d99c1
mov edi, dword [ebp - 0x184]
test dl, 2
jne 0x5d9a0d
mov eax, dword [ebp - 0xa8]
test dl, 0x18
mov ecx, esi
cmovne ecx, edi
sub edi, ecx
cmp dword [ebp - 0x19c], 0
mov dword [eax], esi
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
mov eax, dword [ebp - 0x88]
mov dword [eax], edi
je 0x5d9a0d
mov eax, dword [ebp - 0xac]
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
mov eax, dword [ebp - 0x8c]
mov dword [eax], esi
mov esi, dword [ebp - 0x180]
or edx, 1
jmp 0x5d9a1f
mov dword [ebp - 0x80], 0
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x7c], edx
cmp eax, 0x10
jb 0x5d9a62
mov edx, dword [ebp - 0x1a8]
lea ecx, [eax + 1]
mov eax, edx
mov byte [ebp - 4], 0x1d
cmp ecx, 0x1000
jb 0x5d9a58
mov edx, dword [edx - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push ecx
push edx
call fcn.006084e7
add esp, 8
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
cmp edx, 0x10
jb 0x5d9abb
mov ecx, dword [ebp - 0x1f4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x1e
cmp edx, 0x1000
jb 0x5d9ab1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
mov edx, dword [ebp - 0x254]
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0xf
mov byte [ebp - 0x1f4], 0
mov byte [ebp - 4], 8
cmp edx, 0x10
jb 0x5d9b1c
mov ecx, dword [ebp - 0x268]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x1f
cmp edx, 0x1000
jb 0x5d9b0e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
mov byte [ebp - 4], 8
push dword [ebp - 0x174]
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x258], 0
push eax
mov dword [ebp - 0x254], 0xf
mov byte [ebp - 0x268], 0
call fcn.004ca700
add esp, 8
mov edi, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x7c]
or esi, 0x1000
mov byte [ebp - 4], 0x20
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
mov dword [ebp - 0x18c], esi
test cl, 2
jne 0x5d9ba4
mov eax, dword [ebp - 0x98]
mov edx, dword [eax]
test edx, edx
je 0x5d9ba4
mov eax, dword [ebp - 0xa8]
cmp edx, dword [ebp - 0x80]
cmovb edx, dword [ebp - 0x80]
mov ecx, dword [eax]
sub edx, ecx
jmp 0x5d9bc7
test cl, 4
jne 0x5d9bd4
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5d9bd4
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
sub edx, ecx
mov eax, dword [ebp - 0x8c]
add edx, dword [eax]
push edx
push ecx
lea ecx, [ebp - 0x280]
call fcn.004c82a0
and esi, 0xffffefff
mov dword [ebp - 4], 8
or esi, 0x800
mov dword [ebp - 0x180], esi
mov dword [ebp - 0x18c], esi
lea eax, [ebp - 0x280]
mov byte [ebp - 4], 0x21
push eax
lea ecx, [ebp - 0xd4]
call fcn.004be960
mov dword [ebp - 0xd8], 0x498708
mov edx, dword [ebp - 0x26c]
mov byte [ebp - 4], 0x23
cmp edx, 0x10
jb 0x5d9c59
mov ecx, dword [ebp - 0x280]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x24
cmp edx, 0x1000
jb 0x5d9c4b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0xc0], 0x10
lea eax, [ebp - 0xd4]
push 0
cmovae eax, dword [ebp - 0xd4]
push eax
push ecx
mov dword [ebp - 0x1a8], eax
lea ecx, [ebp - 0x2b4]
mov eax, esp
mov dword [ebp - 0x270], 0
push ecx
mov ecx, edi
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
mov dword [eax], 0x21
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax]
cmp eax, 4
jne 0x5d9cdc
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xd8], 0x498708
cmp edx, 0x10
jb 0x5da05d
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x25
jmp 0x5da037
cmp eax, 8
je 0x5da1e2
push 0
lea eax, [ebp - 0x178]
mov dword [ebp - 0x178], 0x4ac940
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2b8]
push ecx
mov ecx, edi
mov dword [eax], 4
mov eax, dword [edi]
call dword [eax + 8]
push dword [ebp - 0x1a4]
lea eax, [ebp - 0x24]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2bc]
push ecx
mov ecx, edi
mov dword [eax], 2
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1a4]
cmp eax, dword [edi + 0x308]
setb al
mov byte [ebp - 0x179], al
cmp ecx, 4
je 0x5d9d57
cmp ecx, 8
jne 0x5d9d5f
xor al, al
jmp 0x5d9d59
mov al, 1
mov byte [ebp - 0x179], al
xor cl, cl
cmp byte [ebp + 0xc], cl
je 0x5d9d8d
test al, al
je 0x5d9d8d
push 0
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x248]
push ecx
mov ecx, edi
mov dword [eax], 3
mov eax, dword [edi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
sete cl
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov dword [ebp - 0x158], 0x498708
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], 0
mov dword [ebp - 0x13c], 0x498708
cmp byte [ebp - 0x179], 0
mov eax, dword [ebp - 0x1c0]
mov byte [ebp - 4], 0x27
mov dword [ebp - 0x16c], eax
mov dword [ebp - 0x168], 1
mov dword [ebp - 0x164], 4
je 0x5d9e19
test cl, cl
mov eax, 0x22
mov ecx, 0xb0
cmovne eax, ecx
mov dword [ebp - 0x168], eax
mov edi, dword [ebp - 0x1bc]
xor ecx, ecx
sub edi, dword [ebp - 0x1c]
xor eax, eax
sar edi, 2
xor edx, edx
mov dword [ebp - 0x184], edi
test edi, edi
jle 0x5d9ee1
mov eax, dword [ebp - 0x188]
mov esi, ecx
mov eax, dword [eax + 0x2c4]
add eax, dword [ebp - 0x1b0]
xor edi, edi
mov eax, dword [eax]
mov dword [ebp - 0x19c], eax
nop word [eax + eax]
mov eax, dword [eax + edi + 4]
cmp eax, 0x100
je 0x5d9eb0
cmp eax, 0x200
je 0x5d9e79
cmp eax, 0x400
jne 0x5d9eba
mov eax, dword [ebp - 0x1c]
test ecx, ecx
jne 0x5d9e85
mov ecx, dword [eax + edx*4]
jmp 0x5d9eba
mov eax, dword [eax + edx*4]
cmp eax, 0x65
je 0x5d9eba
cmp ecx, 0x65
je 0x5d9eac
cmp ecx, 0xc8
je 0x5d9eac
cmp eax, 0xc8
je 0x5d9eba
cmp eax, ecx
je 0x5d9eba
mov ecx, 0xe6
jmp 0x5d9eba
mov ecx, eax
jmp 0x5d9eba
test esi, esi
jne 0x5d9eba
mov eax, dword [ebp - 0x1c]
mov esi, dword [eax + edx*4]
mov eax, dword [ebp - 0x19c]
inc edx
add edi, 0xc0
cmp edx, dword [ebp - 0x184]
jl 0x5d9e60
mov dword [ebp - 0x190], esi
mov esi, dword [ebp - 0x180]
mov eax, dword [ebp - 0x190]
push dword [ebp - 0x178]
test ecx, ecx
cmovne eax, ecx
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebp - 0x15c], eax
call fcn.00524ac0
push dword [ebp - 0x1a8]
lea ecx, [ebp - 0x13c]
call fcn.00524ac0
mov edi, dword [ebp - 0x188]
lea ecx, [ebp - 0x16c]
push 0
push ecx
push 0
mov eax, dword [edi]
lea ecx, [ebp - 0xf8]
push ecx
mov ecx, edi
mov byte [ebp - 0x120], 1
call dword [eax + 4]
mov eax, dword [ebp - 0xf8]
cmp eax, 0x20
jne 0x5da11e
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x13c], 0x498708
cmp edx, 0x10
jb 0x5d9f97
mov ecx, dword [ebp - 0x138]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x28
cmp edx, 0x1000
jb 0x5d9f8d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], 0
mov dword [ebp - 0x158], 0x498708
cmp edx, 0x10
jb 0x5d9ffa
mov ecx, dword [ebp - 0x154]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x29
cmp edx, 0x1000
jb 0x5d9ff0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0xf
mov byte [ebp - 0x154], 0
mov dword [ebp - 0xd8], 0x498708
cmp edx, 0x10
jb 0x5da05d
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2a
cmp edx, 0x1000
jb 0x5da053
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
inc dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x11c], 0x4ac8ec
test eax, eax
je 0x5da080
push eax
call fcn.006084fe
add esp, 4
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x110], 0
mov dword [ebp - 0x114], 0
mov byte [ebp - 0x10c], 1
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xbc], 0x498978
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x50]
mov dword [ebp + ecx - 0xc0], eax
lea ecx, [ebp - 0xb8]
call fcn.004c0b00
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xbc], 0x4988e8
mov eax, dword [ebp - 0xbc]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xc0], eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x2f
push eax
mov dword [ebp - 0x6c], 0x4986a4
call fcn.005f4067
add esp, 4
mov byte [ebp - 4], 1
jmp 0x5d88c0
cmp eax, 0x80
jne 0x5da139
mov eax, dword [edi + 0x70]
mov edx, dword [ebp - 0x14]
or eax, 0x200
mov dword [edi + 0x70], eax
mov dword [ebp - 0x1c4], edx
lea ecx, [ebp - 0x16c]
call fcn.004d0e30
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xd8], 0x498708
cmp edx, 0x10
jb 0x5da18c
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2b
cmp edx, 0x1000
jb 0x5da182
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5da224
push edx
push ecx
call fcn.006084e7
add esp, 8
lea ecx, [ebp - 0x11c]
call fcn.005d5c30
lea ecx, [ebp - 0xbc]
call fcn.004c3040
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0x30
test eax, eax
je 0x5da1c5
mov ecx, dword [ebp - 0x1c4]
sub ecx, eax
sar ecx, 2
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.004c85b0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00608a00
mov esp, ebp
pop ebp
ret 8
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0xd8], 0x498708
cmp edx, 0x10
jb 0x5da18c
mov ecx, dword [ebp - 0xd4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x26
cmp edx, 0x1000
jb 0x5da182
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x5da182
call fcn.00540ccc
call fcn.004c7d60
call fcn.004c7aa0
call fcn.005f380d
call fcn.004c7d70
int3