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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5e6976
mov eax, dword fs:[0]
push eax
sub esp, 0x2f4
mov eax, dword [0x616930]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x1a0], esi
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
mov dword [ebp - 0x1a4], 0
mov dword [ebp - 0x1d4], eax
mov dword [ebp - 0x1bc], 0
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x2c4]
shl ecx, 2
add eax, ecx
mov dword [ebp - 0x1c8], ecx
mov ecx, dword [eax + 4]
sub ecx, dword [eax]
mov eax, 0x2aaaaaab
imul ecx
mov eax, dword [esi + 0x70]
xor ecx, ecx
sar edx, 5
and eax, 0xfffffbff
mov edi, edx
mov dword [esi + 0x70], eax
shr edi, 0x1f
xor eax, eax
add edi, edx
movq qword [ebp - 0x1c], xmm0
xor edx, edx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x1ac], edi
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x14], edx
test edi, edi
je 0x58298a
cmp edi, 0x3fffffff
ja 0x5843bd
push edi
lea ecx, [ebp - 0x1c]
call fcn.00459660
lea ecx, [edi*4]
mov dword [ebp - 0x1c], eax
push ecx
push 0
lea edi, [ecx + eax]
mov edx, edi
mov dword [ebp - 0x1d0], edi
push eax
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x14], edx
call fcn.005be800
mov dword [ebp - 0x18], edi
mov ecx, edi
mov edi, dword [ebp - 0x1c]
add esp, 0xc
mov edx, edi
jmp 0x58298d
mov edi, dword [ebp - 0x1c]
sub ecx, edx
mov dword [ebp - 4], 1
sar ecx, 2
xor eax, eax
test ecx, ecx
jle 0x5829bc
mov ecx, dword [ebp - 0x1d0]
sub ecx, edi
sar ecx, 2
nop word [eax + eax]
mov dword [edx + eax*4], 0
inc eax
cmp eax, ecx
jl 0x5829b0
mov edi, dword [ebp - 0x1a4]
mov dword [ebp - 0x19c], edi
nop dword [eax + eax]
push 0
push dword [ebp - 0x1d4]
mov ecx, esi
call fcn.00586030
xor ecx, ecx
mov dword [ebp - 0x1b8], ecx
cmp dword [ebp - 0x1ac], ecx
jle 0x582bda
xor eax, eax
mov dword [ebp - 0x1b4], eax
nop dword [eax + eax]
mov esi, dword [esi + 0x2c4]
add esi, dword [ebp - 0x1c8]
mov esi, dword [esi]
add esi, eax
mov eax, dword [esi + 8]
lea edi, [esi + 0x90]
and eax, 0x17
cmp al, 5
jne 0x582b7d
mov dword [esi + 8], 1
mov dword [ebp - 0x1a8], 0
push dword [esi + 0x1c]
mov ecx, dword [edi]
push dword [esi + 0x18]
push edi
push esi
call fcn.00584f00
cmp dword [edi + 4], 0
jne 0x582a72
test eax, eax
je 0x582a72
mov dword [esi + 0xa8], eax
xor al, al
cmp dword [ebp - 0x1a8], 0
jne 0x582acf
mov dword [esi + 8], 2
mov dword [ebp - 0x1a8], 1
jmp 0x582a35
cmp dword [ebp - 0x1a8], 0
mov al, 1
mov byte [ebp - 0x191], al
jbe 0x582acf
push 0
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 4
je 0x582ac9
mov eax, dword [esi + 4]
and eax, 0xf00
cmp eax, 0x100
je 0x582abb
cmp eax, 0x200
je 0x582aad
cmp eax, 0x400
jne 0x582ac5
mov dword [esi + 0xa8], 0xc8
xor al, al
jmp 0x582acf
mov dword [esi + 0xa8], 0x11
xor al, al
jmp 0x582acf
mov al, byte [ebp - 0x191]
mov dword [esi + 8], 5
test al, al
je 0x582ba4
mov edi, dword [ebp - 0x1a0]
mov edx, dword [ebp - 0x1d4]
mov ecx, dword [ebp - 0x1b8]
push 0
mov eax, dword [edi + 0x2ec]
push esi
push ecx
mov dword [eax + edx*4], ecx
mov eax, esp
lea ecx, [ebp - 0x2dc]
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 0x584336
push 0
lea eax, [edi + 0x300]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2fc]
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 - 0x264]
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 - 0x2b4]
push ecx
mov ecx, edi
mov dword [eax], 0x25
mov eax, dword [edi]
call dword [eax + 8]
jmp 0x584336
push dword [esi + 0x1c]
mov ecx, dword [edi]
push dword [esi + 0x18]
push edi
push esi
call fcn.00584f00
cmp dword [edi + 4], 0
jne 0x582ade
test eax, eax
je 0x582ade
mov dword [esi + 0xa8], eax
mov ecx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1b4]
inc ecx
mov esi, dword [ebp - 0x1a0]
add eax, 0xc0
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], eax
cmp ecx, dword [ebp - 0x1ac]
jl 0x582a00
mov edi, dword [ebp - 0x19c]
push 0xb0
lea eax, [ebp - 0xd4]
mov byte [ebp - 0x1cc], 0
push 0
push eax
call fcn.005be800
add esp, 0xc
mov dword [ebp - 0xd4], 0x41f1bc
mov dword [ebp - 0xc4], 0x41f1c4
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x6c], 0x41f010
push 0
push 0
lea eax, [ebp - 0xbc]
mov byte [ebp - 4], 3
or edi, 1
lea ecx, [ebp - 0xd4]
push eax
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x1a4], edi
call fcn.0045c750
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xc4], 0x41f018
mov eax, dword [ebp - 0xc4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0xc8], eax
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], 0x41f1b0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0xd8], eax
mov eax, dword [ebp - 0xd4]
push 8
mov dword [ebp - 4], 7
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], 0x41f1b8
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xd8], eax
mov dword [ebp - 0xbc], 0x41f020
call fcn.005bc4c7
mov esi, eax
add esp, 4
test esi, esi
je 0x582d07
xorps xmm0, xmm0
movq qword [esi], xmm0
push 1
mov byte [ebp - 4], 8
call fcn.005a7d54
add esp, 4
mov dword [esi + 4], eax
jmp 0x582d09
xor esi, esi
lea eax, [ebp - 0xb8]
mov dword [ebp - 0x88], esi
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0xb4]
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xa8]
mov dword [ebp - 0xa0], eax
lea eax, [ebp - 0xa4]
mov dword [ebp - 0x9c], eax
lea eax, [ebp - 0x98]
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x94]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xbc], 0x41f060
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x80], 0
xorps xmm0, xmm0
mov dword [ebp - 0x114], 0
movups xmmword [ebp - 0x134], xmm0
xor esi, esi
mov dword [ebp - 0x1b8], 0
movups xmmword [ebp - 0x124], xmm0
mov dword [ebp - 0x134], 0x438104
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], esi
mov dword [ebp - 0x128], esi
mov byte [ebp - 0x124], 1
movups xmmword [ebp - 0x120], xmm0
mov byte [ebp - 4], 0xa
cmp dword [ebp - 0x1ac], esi
jbe 0x582e3e
mov esi, dword [ebp - 0x1ac]
xor ecx, ecx
mov eax, esi
mov edx, 0x28
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005bc505
add esp, 4
mov dword [ebp - 0x128], esi
mov dword [ebp - 0x12c], esi
jmp 0x582e40
xor eax, eax
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x1ac]
xor edx, edx
mov byte [ebp - 4], 0xb
test ecx, ecx
jle 0x582ece
mov edi, dword [ebp - 0x1a0]
nop dword [eax]
nop word [eax + eax]
mov eax, dword [edi + 0x2c4]
lea ecx, [edx + edx*2]
add eax, dword [ebp - 0x1c8]
mov edi, dword [ebp - 0x1b4]
shl ecx, 6
add ecx, dword [eax]
cmp edx, esi
sbb eax, eax
and eax, edx
inc edx
movups xmm0, xmmword [ecx + 4]
lea eax, [eax + eax*4]
movups xmmword [edi + eax*8], xmm0
movups xmm0, xmmword [ecx + 0x14]
movups xmmword [edi + eax*8 + 0x10], xmm0
movq xmm0, qword [ecx + 0x24]
mov ecx, edi
mov edi, dword [ebp - 0x1a0]
movq qword [ecx + eax*8 + 0x20], xmm0
cmp edx, dword [ebp - 0x1ac]
jl 0x582e70
mov edi, dword [ebp - 0x19c]
mov eax, ecx
mov ecx, dword [ebp - 0x1ac]
xor edx, edx
test esi, esi
mov esi, dword [ebp - 0x1a0]
push ecx
cmove eax, edx
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2c0]
push ecx
mov ecx, esi
mov dword [eax], 0x20
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
cmp dword [ebp - 0x1bc], 0
seta byte [ebp - 0x191]
mov eax, dword [eax]
cmp eax, 4
je 0x58420d
cmp eax, 8
je 0x584320
push 0
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x2bc]
push ecx
mov ecx, esi
mov dword [eax], 9
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x582f78
push 0
push 0
push ecx
mov eax, esp
mov byte [ebp - 0x191], 1
lea ecx, [ebp - 0x2b8]
push ecx
mov ecx, esi
mov dword [eax], 8
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [ebp - 0x1cc]
movzx ecx, cl
cmp dword [eax], 4
mov eax, 1
cmove ecx, eax
mov dword [ebp - 0x1cc], ecx
push 0
lea eax, [esi + 0x300]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2d8]
push ecx
mov ecx, esi
mov dword [eax], 6
mov eax, dword [esi]
call dword [eax + 8]
push 0
lea eax, [esi + 0x304]
push eax
push ecx
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x300]
mov eax, esp
push ecx
mov ecx, esi
mov dword [eax], 7
mov eax, dword [esi]
call dword [eax + 8]
lea eax, [ebp - 0xc4]
mov byte [ebp - 0x1c4], 1
xorps xmm0, xmm0
push 0x438108
push eax
movlpd qword [ebp - 0x24], xmm0
call fcn.0045c020
mov esi, eax
add esp, 8
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
mov ecx, dword [ecx + esi + 0x30]
mov ecx, dword [ecx + 4]
mov dword [ebp - 0x29c], ecx
mov edx, dword [ecx]
call dword [edx + 4]
lea eax, [ebp - 0x2a0]
mov byte [ebp - 4], 0xc
push eax
call fcn.0044f170
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x29c]
mov byte [ebp - 0x268], al
mov byte [ebp - 4], 0xb
test ecx, ecx
je 0x58303f
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x58303f
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x268]
mov ecx, esi
call fcn.004c5920
mov ecx, esi
call fcn.0045afd0
xor esi, esi
mov dword [ebp - 0x1a8], esi
cmp dword [ebp - 0x1ac], esi
jle 0x583891
xor ecx, ecx
mov dword [ebp - 0x1dc], ecx
nop
mov eax, dword [ebp - 0x1a0]
mov eax, dword [eax + 0x2c4]
add eax, dword [ebp - 0x1c8]
mov edi, dword [eax]
mov eax, 0x431af0
add edi, ecx
mov ecx, dword [ebp - 0x1c0]
cmp dword [ecx], 0x4e4
mov ecx, 0x438134
cmove eax, ecx
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.0045c020
mov eax, dword [ebp - 0x1b8]
add esp, 8
or eax, dword [edi + 4]
mov ecx, edi
mov dword [ebp - 0x1b8], eax
lea eax, [ebp - 0x2f8]
push eax
call fcn.004a6560
cmp dword [eax + 0x18], 0x10
lea ecx, [eax + 4]
mov byte [ebp - 4], 0xd
jb 0x5830dc
mov ecx, dword [eax + 4]
push dword [eax + 0x14]
lea eax, [ebp - 0xc4]
push ecx
push eax
call fcn.004bf980
mov edx, dword [ebp - 0x2e0]
add esp, 0xc
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x2f8], 0x41ee38
cmp edx, 0x10
jb 0x58313f
mov ecx, dword [ebp - 0x2f4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0xe
cmp edx, 0x1000
jb 0x583131
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
mov byte [ebp - 4], 0xb
cmp byte [ebp - 0x191], 0
mov dword [ebp - 0x2e4], 0
mov dword [ebp - 0x2e0], 0xf
mov byte [ebp - 0x2f4], 0
je 0x5837da
mov eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1c]
mov esi, dword [edi + 0xa8]
mov dword [ecx + eax*4], esi
test esi, esi
jns 0x583193
mov eax, dword [ebp - 0x1c4]
mov word [ebp - 0x20], 0
mov byte [ebp - 0x1e], 0
mov byte [ebp - 0x1d], al
mov dword [ebp - 0x24], esi
cmp byte [ebp - 0x1cc], 0
je 0x583799
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
mov dword [ebp - 0x10c], 0x41ee38
mov byte [ebp - 4], 0xf
test esi, esi
js 0x5831e9
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x10c]
push eax
push esi
push edi
mov edi, dword [ebp - 0x1a0]
mov ecx, edi
call fcn.00586150
jmp 0x5831ef
mov edi, dword [ebp - 0x1a0]
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x94]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2a4], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0x10
push eax
call fcn.0044f170
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x2a4]
mov byte [ebp - 0x210], al
mov byte [ebp - 4], 0xf
test ecx, ecx
je 0x583252
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x583252
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x210]
lea ecx, [ebp - 0xc4]
call fcn.004c5920
lea ecx, [ebp - 0xc4]
call fcn.0045afd0
lea eax, [ebp - 0xc4]
push 0x438138
push eax
call fcn.0045c020
add esp, 8
mov dword [ebp - 0x188], 0
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x24]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2c4]
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 0x5836f3
test esi, esi
js 0x5836dc
mov eax, dword [ebp - 0x19c]
xor edi, edi
mov ecx, dword [ebp - 0x80]
or eax, 0x10
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x230], edi
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a4], eax
test cl, 2
jne 0x583321
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x583321
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x583347
test cl, 4
jne 0x58335c
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x58335c
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x240]
call fcn.00459b10
mov edi, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x19c]
and eax, 0xffffffef
mov dword [ebp - 4], 0xf
or eax, 8
or eax, 0x40
mov byte [ebp - 4], 0x13
xor esi, esi
mov dword [ebp - 0x1e0], 0xf
mov dword [ebp - 0x1e4], esi
mov byte [ebp - 0x1f4], 0
mov dword [ebp - 0x19c], eax
mov dword [ebp - 0x1a4], eax
test cl, 2
jne 0x5833c6
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5833c6
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x5833ec
test cl, 4
jne 0x5833fe
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x5833fe
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x1f4]
call fcn.00459b10
mov esi, dword [ebp - 0x1e4]
mov eax, dword [ebp - 0x19c]
and eax, 0xffffffbf
mov dword [ebp - 4], 0x12
or eax, 0x20
mov dword [ebp - 0x19c], eax
mov byte [ebp - 4], 0x14
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
cmp esi, edi
jb 0x5843cc
or ecx, 0xffffffff
lea eax, [ebp - 0x1f4]
sub esi, edi
cmp esi, 0xffffffff
cmovb ecx, esi
cmp dword [ebp - 0x1e0], 0x10
push ecx
cmovae eax, dword [ebp - 0x1f4]
lea ecx, [ebp - 0x228]
add eax, edi
push eax
call fcn.00459b10
or dword [ebp - 0x19c], 0x80
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x15
call fcn.00459360
cmp dword [ebp - 0x214], 0x10
lea eax, [ebp - 0x228]
mov esi, dword [ebp - 0x228]
mov edi, dword [ebp - 0x218]
cmovae eax, esi
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x198], esi
mov dword [ebp - 0x1a4], eax
mov dword [ebp - 0x1b0], edx
cmp edi, 0x7fffffff
ja 0x5843c7
test edi, edi
je 0x5835c0
mov eax, edx
and eax, 6
cmp al, 6
je 0x5835c0
cmp edi, 0x1000
jb 0x583506
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x5843c2
push eax
call fcn.005bc4c7
add esp, 4
test eax, eax
je 0x5843b8
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x583511
push edi
call fcn.005bc4c7
add esp, 4
mov esi, eax
push edi
push dword [ebp - 0x1a4]
push esi
call fcn.005be280
mov edx, dword [ebp - 0x1b0]
lea eax, [edi + esi]
mov dword [ebp - 0x1a4], eax
add esp, 0xc
mov dword [ebp - 0x84], eax
mov eax, edx
and eax, 4
mov dword [ebp - 0x1b0], eax
jne 0x583563
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov eax, dword [ebp - 0xa0]
mov dword [eax], esi
mov eax, dword [ebp - 0x90]
mov dword [eax], edi
mov edi, dword [ebp - 0x84]
jmp 0x583569
mov edi, dword [ebp - 0x1a4]
test dl, 2
jne 0x5835b5
mov eax, dword [ebp - 0xac]
test dl, 0x18
mov ecx, esi
cmovne ecx, edi
sub edi, ecx
cmp dword [ebp - 0x1b0], 0
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [eax], edi
je 0x5835b5
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov eax, dword [ebp - 0xa0]
mov dword [eax], 0
mov eax, dword [ebp - 0x90]
mov dword [eax], esi
mov esi, dword [ebp - 0x198]
or edx, 1
jmp 0x5835ca
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x214]
mov dword [ebp - 0x80], edx
cmp eax, 0x10
jb 0x583607
lea ecx, [eax + 1]
mov eax, esi
mov byte [ebp - 4], 0x16
cmp ecx, 0x1000
jb 0x5835fd
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push ecx
push esi
call fcn.005bc4f7
add esp, 8
mov edx, dword [ebp - 0x1e0]
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x214], 0xf
mov byte [ebp - 0x228], 0
cmp edx, 0x10
jb 0x583660
mov ecx, dword [ebp - 0x1f4]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x17
cmp edx, 0x1000
jb 0x583656
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
mov edx, dword [ebp - 0x22c]
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1e0], 0xf
mov byte [ebp - 0x1f4], 0
mov byte [ebp - 4], 0xf
cmp edx, 0x10
jb 0x5836c1
mov ecx, dword [ebp - 0x240]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x18
cmp edx, 0x1000
jb 0x5836b3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
mov byte [ebp - 4], 0xf
mov dword [ebp - 0x230], 0
mov dword [ebp - 0x22c], 0xf
mov byte [ebp - 0x240], 0
push dword [ebp - 0x188]
lea eax, [ebp - 0xc4]
push eax
call fcn.0045c020
add esp, 8
jmp 0x58371d
cmp dword [ebp - 0xf4], 0x10
lea eax, [ebp - 0x108]
push dword [ebp - 0xf8]
cmovae eax, dword [ebp - 0x108]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.004bf980
add esp, 0xc
mov eax, dword [ebp - 0x1c4]
xor ecx, ecx
cmp byte [ebp - 0x1d], cl
mov edx, dword [ebp - 0xf4]
movzx eax, al
cmove eax, ecx
mov dword [ebp - 0x10c], 0x41ee38
mov dword [ebp - 0x1c4], eax
cmp edx, 0x10
jb 0x58377c
mov ecx, dword [ebp - 0x108]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x19
cmp edx, 0x1000
jb 0x583772
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
mov dword [ebp - 0xf8], 0
mov dword [ebp - 0xf4], 0xf
mov byte [ebp - 0x108], 0
jmp 0x5837d4
mov ecx, edi
call fcn.004a64c0
push 0x420f4c
push esi
push eax
lea eax, [ebp - 0xc4]
push 0x43814c
push eax
call fcn.0045c020
add esp, 8
push eax
call fcn.0045c020
add esp, 8
mov ecx, eax
call fcn.004544a0
push eax
call fcn.0045c020
add esp, 8
mov esi, dword [ebp - 0x1a8]
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 4]
mov eax, dword [ebp + eax - 0x94]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x2ac], ecx
mov eax, dword [ecx]
call dword [eax + 4]
lea eax, [ebp - 0x2b0]
mov byte [ebp - 4], 0x1a
push eax
call fcn.0044f170
add esp, 4
mov ecx, eax
mov edx, dword [eax]
push 0xa
mov eax, dword [edx + 0x20]
call eax
mov ecx, dword [ebp - 0x2ac]
mov byte [ebp - 0x25c], al
mov byte [ebp - 4], 0xb
test ecx, ecx
je 0x58383d
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
test eax, eax
je 0x58383d
mov edx, dword [eax]
mov ecx, eax
push 1
call dword [edx]
push dword [ebp - 0x25c]
lea ecx, [ebp - 0xc4]
call fcn.004c5920
lea ecx, [ebp - 0xc4]
call fcn.0045afd0
mov ecx, dword [ebp - 0x1dc]
inc esi
add ecx, 0xc0
mov dword [ebp - 0x1a8], esi
mov dword [ebp - 0x1dc], ecx
cmp esi, dword [ebp - 0x1ac]
jl 0x583070
cmp byte [ebp - 0x1c4], 0
mov edi, dword [ebp - 0x19c]
je 0x583cf6
mov esi, dword [ebp - 0x1a0]
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x18c], 0
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2c8]
push ecx
mov ecx, esi
mov dword [eax], 0xb
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
jne 0x583cfc
mov ecx, dword [ebp - 0x80]
or edi, 0x200
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x270], 0
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
mov dword [ebp - 0x1a4], edi
test cl, 2
jne 0x583927
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x583927
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x58394d
test cl, 4
jne 0x58395c
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x58395c
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x280]
call fcn.00459b10
mov ecx, dword [ebp - 0x80]
and edi, 0xfffffdff
mov dword [ebp - 4], 0xb
or edi, 0x100
xor esi, esi
mov byte [ebp - 4], 0x1d
or edi, 0x800
mov dword [ebp - 0x1fc], esi
mov dword [ebp - 0x1f8], 0xf
mov byte [ebp - 0x20c], 0
mov dword [ebp - 0x1a4], edi
test cl, 2
jne 0x5839c3
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x5839c3
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x5839e9
test cl, 4
jne 0x5839fb
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x5839fb
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x20c]
call fcn.00459b10
mov esi, dword [ebp - 0x1fc]
and edi, 0xfffff7ff
mov dword [ebp - 4], 0x1c
or edi, 0x400
mov edx, dword [ebp - 0x270]
mov byte [ebp - 4], 0x1e
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
cmp esi, edx
jb 0x5843cc
sub esi, edx
lea eax, [ebp - 0x20c]
or ecx, 0xffffffff
cmp esi, 0xffffffff
cmovb ecx, esi
cmp dword [ebp - 0x1f8], 0x10
push ecx
cmovae eax, dword [ebp - 0x20c]
lea ecx, [ebp - 0x258]
add eax, edx
push eax
call fcn.00459b10
or edi, 0x1000
mov dword [ebp - 0x19c], edi
lea ecx, [ebp - 0xbc]
mov byte [ebp - 4], 0x1f
call fcn.00459360
cmp dword [ebp - 0x244], 0x10
lea eax, [ebp - 0x258]
mov esi, dword [ebp - 0x258]
mov edi, dword [ebp - 0x248]
cmovae eax, esi
mov edx, dword [ebp - 0x80]
mov dword [ebp - 0x1c0], esi
mov dword [ebp - 0x198], eax
mov dword [ebp - 0x1b0], edx
cmp edi, 0x7fffffff
ja 0x5843c7
test edi, edi
je 0x583bbf
mov eax, edx
and eax, 6
cmp al, 6
je 0x583bbf
cmp edi, 0x1000
jb 0x583b05
lea eax, [edi + 0x23]
cmp eax, edi
jbe 0x5843c2
push eax
call fcn.005bc4c7
add esp, 4
test eax, eax
je 0x5843b8
lea esi, [eax + 0x23]
and esi, 0xffffffe0
mov dword [esi - 4], eax
jmp 0x583b10
push edi
call fcn.005bc4c7
add esp, 4
mov esi, eax
push edi
push dword [ebp - 0x198]
push esi
call fcn.005be280
mov edx, dword [ebp - 0x1b0]
lea eax, [esi + edi]
mov dword [ebp - 0x198], eax
add esp, 0xc
mov dword [ebp - 0x84], eax
mov eax, edx
and eax, 4
mov dword [ebp - 0x1b0], eax
jne 0x583b62
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov eax, dword [ebp - 0xa0]
mov dword [eax], esi
mov eax, dword [ebp - 0x90]
mov dword [eax], edi
mov edi, dword [ebp - 0x84]
jmp 0x583b68
mov edi, dword [ebp - 0x198]
test dl, 2
jne 0x583bb4
mov eax, dword [ebp - 0xac]
test dl, 0x18
mov ecx, esi
cmovne ecx, edi
sub edi, ecx
cmp dword [ebp - 0x1b0], 0
mov dword [eax], esi
mov eax, dword [ebp - 0x9c]
mov dword [eax], ecx
mov eax, dword [ebp - 0x8c]
mov dword [eax], edi
je 0x583bb4
mov eax, dword [ebp - 0xb0]
mov dword [eax], esi
mov eax, dword [ebp - 0xa0]
mov dword [eax], 0
mov eax, dword [ebp - 0x90]
mov dword [eax], esi
mov esi, dword [ebp - 0x1c0]
or edx, 1
jmp 0x583bc9
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x244]
mov dword [ebp - 0x80], edx
cmp eax, 0x10
jb 0x583c06
lea ecx, [eax + 1]
mov eax, esi
mov byte [ebp - 4], 0x20
cmp ecx, 0x1000
jb 0x583bfc
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push ecx
push esi
call fcn.005bc4f7
add esp, 8
mov edx, dword [ebp - 0x1f8]
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x244], 0xf
mov byte [ebp - 0x258], 0
cmp edx, 0x10
jb 0x583c5f
mov ecx, dword [ebp - 0x20c]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x21
cmp edx, 0x1000
jb 0x583c55
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x1f8], 0xf
mov byte [ebp - 0x20c], 0
mov byte [ebp - 4], 0xb
cmp edx, 0x10
jb 0x583cc0
mov ecx, dword [ebp - 0x280]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x22
cmp edx, 0x1000
jb 0x583cb2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
mov byte [ebp - 4], 0xb
push dword [ebp - 0x18c]
lea eax, [ebp - 0xc4]
mov dword [ebp - 0x270], 0
push eax
mov dword [ebp - 0x26c], 0xf
mov byte [ebp - 0x280], 0
call fcn.0045c020
mov edi, dword [ebp - 0x19c]
add esp, 8
mov esi, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x80]
or edi, 0x4000
mov byte [ebp - 4], 0x23
mov dword [ebp - 0x288], 0
mov dword [ebp - 0x284], 0xf
mov byte [ebp - 0x298], 0
mov dword [ebp - 0x1a4], edi
test cl, 2
jne 0x583d55
mov eax, dword [ebp - 0x9c]
mov edx, dword [eax]
test edx, edx
je 0x583d55
mov eax, dword [ebp - 0xac]
cmp edx, dword [ebp - 0x84]
cmovb edx, dword [ebp - 0x84]
mov ecx, dword [eax]
sub edx, ecx
push edx
jmp 0x583d7b
test cl, 4
jne 0x583d87
mov eax, dword [ebp - 0xa0]
mov edx, dword [eax]
test edx, edx
je 0x583d87
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
mov eax, dword [ebp - 0x90]
mov eax, dword [eax]
sub eax, ecx
add eax, edx
push eax
push ecx
lea ecx, [ebp - 0x298]
call fcn.00459b10
and edi, 0xffffbfff
mov dword [ebp - 4], 0xb
or edi, 0x2000
mov dword [ebp - 0x19c], edi
mov dword [ebp - 0x1a4], edi
lea eax, [ebp - 0x298]
mov byte [ebp - 4], 0x24
push eax
lea ecx, [ebp - 0xec]
call fcn.0044f9d0
mov dword [ebp - 0xf0], 0x41ee38
mov edx, dword [ebp - 0x284]
mov byte [ebp - 4], 0x26
cmp edx, 0x10
jb 0x583e0c
mov ecx, dword [ebp - 0x298]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x27
cmp edx, 0x1000
jb 0x583dfe
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
mov byte [ebp - 4], 0x26
cmp dword [ebp - 0xd8], 0x10
lea eax, [ebp - 0xec]
push 0
cmovae eax, dword [ebp - 0xec]
push eax
push ecx
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x2cc]
mov eax, esp
mov dword [ebp - 0x288], 0
push ecx
mov ecx, esi
mov dword [ebp - 0x284], 0xf
mov byte [ebp - 0x298], 0
mov dword [eax], 0x21
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
mov eax, dword [eax]
cmp eax, 4
jne 0x583e8f
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], 0x41ee38
cmp edx, 0x10
jb 0x58420d
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x28
jmp 0x5841e7
cmp eax, 8
je 0x584376
push 0
lea eax, [ebp - 0x190]
mov dword [ebp - 0x190], 0x438158
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2d0]
push ecx
mov ecx, esi
mov dword [eax], 4
mov eax, dword [esi]
call dword [eax + 8]
push dword [ebp - 0x1bc]
lea eax, [ebp - 0x24]
push eax
push ecx
mov eax, esp
lea ecx, [ebp - 0x2d4]
push ecx
mov ecx, esi
mov dword [eax], 2
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0x1bc]
cmp eax, dword [esi + 0x308]
setb al
mov byte [ebp - 0x191], al
cmp ecx, 4
je 0x583f0a
cmp ecx, 8
jne 0x583f12
xor al, al
jmp 0x583f0c
mov al, 1
mov byte [ebp - 0x191], al
xor cl, cl
cmp byte [ebp + 0xc], cl
je 0x583f40
test al, al
je 0x583f40
push 0
push 0
push ecx
mov eax, esp
lea ecx, [ebp - 0x260]
push ecx
mov ecx, esi
mov dword [eax], 3
mov eax, dword [esi]
mov eax, dword [eax + 8]
call eax
cmp dword [eax], 4
sete cl
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
mov dword [ebp - 0x170], 0x41ee38
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
mov dword [ebp - 0x154], 0x41ee38
cmp byte [ebp - 0x191], 0
mov eax, dword [ebp - 0x1d4]
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], 1
mov dword [ebp - 0x17c], 4
je 0x583fcc
test cl, cl
mov eax, 0x22
mov ecx, 0xb0
cmovne eax, ecx
mov dword [ebp - 0x180], eax
mov esi, dword [ebp - 0x1d0]
xor ecx, ecx
sub esi, dword [ebp - 0x1c]
xor eax, eax
sar esi, 2
xor edx, edx
mov dword [ebp - 0x198], esi
test esi, esi
jle 0x584091
mov eax, dword [ebp - 0x1a0]
mov edi, ecx
mov eax, dword [eax + 0x2c4]
add eax, dword [ebp - 0x1c8]
xor esi, esi
mov eax, dword [eax]
mov dword [ebp - 0x1b0], eax
nop word [eax + eax]
mov eax, dword [eax + esi + 4]
cmp eax, 0x100
je 0x584060
cmp eax, 0x200
je 0x584029
cmp eax, 0x400
jne 0x58406a
mov eax, dword [ebp - 0x1c]
test ecx, ecx
jne 0x584035
mov ecx, dword [eax + edx*4]
jmp 0x58406a
mov eax, dword [eax + edx*4]
cmp eax, 0x65
je 0x58406a
cmp ecx, 0x65
je 0x58405c
cmp ecx, 0xc8
je 0x58405c
cmp eax, 0xc8
je 0x58406a
cmp eax, ecx
je 0x58406a
mov ecx, 0xe6
jmp 0x58406a
mov ecx, eax
jmp 0x58406a
test edi, edi
jne 0x58406a
mov eax, dword [ebp - 0x1c]
mov edi, dword [eax + edx*4]
mov eax, dword [ebp - 0x1b0]
inc edx
add esi, 0xc0
cmp edx, dword [ebp - 0x198]
jl 0x584010
mov dword [ebp - 0x1a8], edi
mov edi, dword [ebp - 0x19c]
mov eax, dword [ebp - 0x1a8]
push dword [ebp - 0x190]
test ecx, ecx
cmovne eax, ecx
lea ecx, [ebp - 0x170]
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x1b8]
mov dword [ebp - 0x174], eax
call fcn.004bba90
push dword [ebp - 0x1c0]
lea ecx, [ebp - 0x154]
call fcn.004bba90
mov esi, dword [ebp - 0x1a0]
lea ecx, [ebp - 0x184]
push 0
push ecx
push 0
mov eax, dword [esi]
lea ecx, [ebp - 0x110]
push ecx
mov ecx, esi
mov byte [ebp - 0x138], 1
call dword [eax + 4]
mov eax, dword [ebp - 0x110]
cmp eax, 0x20
jne 0x5842b2
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x154], 0x41ee38
cmp edx, 0x10
jb 0x584147
mov ecx, dword [ebp - 0x150]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2b
cmp edx, 0x1000
jb 0x58413d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x140], 0
mov dword [ebp - 0x13c], 0xf
mov byte [ebp - 0x150], 0
mov dword [ebp - 0x170], 0x41ee38
cmp edx, 0x10
jb 0x5841aa
mov ecx, dword [ebp - 0x16c]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2c
cmp edx, 0x1000
jb 0x5841a0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x15c], 0
mov dword [ebp - 0x158], 0xf
mov byte [ebp - 0x16c], 0
mov dword [ebp - 0xf0], 0x41ee38
cmp edx, 0x10
jb 0x58420d
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2d
cmp edx, 0x1000
jb 0x584203
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
inc dword [ebp - 0x1bc]
mov eax, dword [ebp - 0x1b4]
mov dword [ebp - 0x134], 0x438104
test eax, eax
je 0x584230
push eax
call fcn.005bc50e
add esp, 4
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x12c], 0
mov byte [ebp - 0x124], 1
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax + 4]
mov dword [ebp + eax - 0xd4], 0x41f1b8
mov eax, dword [ebp - 0xd4]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x68]
mov dword [ebp + ecx - 0xd8], eax
lea ecx, [ebp - 0xbc]
call fcn.00452130
lea ecx, [ebp - 0xb4]
call fcn.0045cb30
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x32
push eax
mov dword [ebp - 0x6c], 0x41edd4
call fcn.005a8355
add esp, 4
mov byte [ebp - 4], 1
jmp 0x5829d0
cmp eax, 0x80
jne 0x5842cd
mov eax, dword [esi + 0x70]
mov edx, dword [ebp - 0x14]
or eax, 0x200
mov dword [esi + 0x70], eax
mov dword [ebp - 0x1d8], edx
lea ecx, [ebp - 0x184]
call fcn.00462e00
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], 0x41ee38
cmp edx, 0x10
jb 0x584320
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x2e
cmp edx, 0x1000
jb 0x584316
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x5843b8
push edx
push ecx
call fcn.005bc4f7
add esp, 8
lea ecx, [ebp - 0x134]
call fcn.0057fd20
lea ecx, [ebp - 0xd4]
call fcn.0045d060
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 4], 0x33
test eax, eax
je 0x584359
mov ecx, dword [ebp - 0x1d8]
sub ecx, eax
sar ecx, 2
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.00459e20
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.005bca10
mov esp, ebp
pop ebp
ret 8
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xf0], 0x41ee38
cmp edx, 0x10
jb 0x584320
mov ecx, dword [ebp - 0xec]
inc edx
mov eax, ecx
mov byte [ebp - 4], 0x29
cmp edx, 0x1000
jb 0x584316
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x584316
call fcn.004d7f94
call fcn.004595d0
call fcn.00459310
call fcn.005a76bd
call fcn.004595e0
int3