Function at 0x41684a
Capabilities:
Get disk information

Disassembly:
mov eax, 0x46940d
call fcn.00468300
sub esp, 0x1a0
push ebx
xor ebx, ebx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x14], ebx
lea ecx, [ebp - 0x138]
mov dword [ebp - 0x18], ebx
mov eax, 0x2ee0
mov dword [ebp - 4], ebx
cmp dword [ebp + 0xc], ebx
push esi
cmovne eax, dword [ebp + 0xc]
mov esi, edx
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x138], ebx
push 0x479c6b
mov dword [ebp - 0x98], ebx
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x108], eax
mov dword [ebp - 0x128], ebx
mov dword [ebp - 0x124], 0xf
mov byte [ebp - 0x138], bl
call fcn.00413e6c
xor eax, eax
lea ecx, [ebp - 0xec]
push 0xf
inc eax
mov byte [ebp - 4], al
pop edi
mov dword [ebp - 0xec], ebx
push 0x479c6b
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], edi
mov byte [ebp - 0xec], bl
call fcn.00413e6c
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xf4], ebx
mov dword [ebp - 0xf0], ebx
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
mov edx, 0x479c6b
mov byte [ebp - 4], 4
mov ecx, esi
call fcn.0041480e
test al, al
jne 0x416ba9
mov cl, 0x6c
mov dword [ebp - 0x1f], 0xc0d7b66c
mov word [ebp - 0x1b], 0xa1d8
mov edx, ebx
mov byte [ebp - 0x19], bl
not cl
xor cl, byte [ebp + edx - 0x1e]
mov byte [ebp + edx - 0x1e], cl
inc edx
cmp edx, 5
jae 0x416956
mov cl, byte [ebp - 0x1f]
jmp 0x416941
push ecx
lea eax, [ebp - 0x1e]
mov byte [ebp - 0x19], bl
push eax
mov ecx, esi
call fcn.00413227
cmp eax, 0xffffffff
je 0x416be4
mov dword [ebp - 0x120], ebx
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], edi
mov byte [ebp - 0x120], bl
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x74]
push 0x488120
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
call fcn.00413ee6
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 6
push eax
mov edx, esi
lea ecx, [ebp - 0xa4]
call fcn.00438f31
pop ecx
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 8
call fcn.00413e0b
mov ecx, dword [ebp - 0xa4]
push 1
push ebx
call fcn.004142f2
mov ecx, dword [ebp - 0xa4]
lea edx, [ecx + 0x10]
mov eax, dword [edx]
dec eax
cmp dword [ecx + 0x14], 0x10
jb 0x4169e4
mov ecx, dword [ecx]
mov dword [edx], eax
push 0x18
mov byte [ecx + eax], bl
mov ecx, dword [ebp - 0xa4]
pop esi
mov eax, dword [ebp - 0xa0]
sub eax, ecx
cdq
idiv esi
mov edx, dword [ebp - 0x2c]
cmp edx, eax
jae 0x416a60
imul eax, edx, 0x18
add eax, ecx
mov edx, dword [eax + 0x10]
test edx, edx
je 0x416a5b
cmp dword [eax + 0x14], 0x10
jb 0x416a18
mov eax, dword [eax]
push edx
push eax
lea ecx, [ebp - 0x120]
call fcn.00413e8d
mov cl, 0x14
mov byte [ebp + 0xf], bl
mov byte [ebp + 0xd], cl
mov al, 0xb7
not cl
xor al, cl
lea ecx, [ebp + 0xe]
mov byte [ebp + 0xe], al
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x416a3c
sub ecx, edx
lea eax, [ebp + 0xe]
push ecx
push eax
lea ecx, [ebp - 0x120]
call fcn.00413e8d
mov ecx, dword [ebp - 0xa4]
inc dword [ebp - 0x2c]
jmp 0x4169f2
lea ecx, [ebp - 0xd4]
call fcn.00435fc9
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], edi
mov byte [ebp - 0x44], bl
mov byte [ebp - 4], 0xa
mov esi, dword [ebp - 0xd4]
mov edi, dword [ebp - 0xd0]
cmp esi, edi
je 0x416b80
push esi
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
call fcn.00413ee6
lea eax, [ebp - 0x74]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x44]
call fcn.004133a2
cmp dword [ebp - 0x60], 0x10
lea eax, [ebp - 0x74]
cmovae eax, dword [ebp - 0x74]
push eax
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
cmp eax, 2
jne 0x416adf
mov al, 0x27
mov byte [ebp + 0xd], 0x27
not al
mov byte [ebp + 0xf], bl
mov cl, 0xea
xor cl, al
lea eax, [ebp + 0xe]
mov byte [ebp + 0xe], cl
jmp 0x416b14
cmp eax, 3
jne 0x416afa
mov cl, 0x7d
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x17], cl
mov al, 0xb1
not cl
xor al, cl
mov byte [ebp - 0x16], al
lea eax, [ebp - 0x16]
jmp 0x416b14
cmp eax, 5
jne 0x416b6c
mov al, 0x2e
mov byte [ebp - 0x13], 0x2e
not al
mov byte [ebp - 0x11], bl
mov cl, 0xe4
xor cl, al
lea eax, [ebp - 0x12]
mov byte [ebp - 0x12], cl
push ecx
mov ecx, dword [ebp - 0xa4]
push eax
call fcn.00413227
cmp eax, 0xffffffff
je 0x416b6c
cmp dword [ebp - 0x10c], 0x10
lea eax, [ebp - 0x120]
push dword [ebp - 0x110]
cmovae eax, dword [ebp - 0x120]
lea ecx, [ebp - 0x44]
push eax
call fcn.00413e8d
push dword [ebp + 0x18]
mov ecx, dword [ebp - 0x94]
lea edx, [ebp - 0x44]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp - 0x90]
push dword [ebp + 8]
call fcn.0041684a
add esp, 0x14
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0xa
call fcn.00413e0b
add esi, 0x18
jmp 0x416a87
lea ecx, [ebp - 0x44]
call fcn.00413e0b
lea ecx, [ebp - 0xd4]
call fcn.0041a553
lea ecx, [ebp - 0xa4]
call fcn.0041a553
lea ecx, [ebp - 0x120]
call fcn.00413e0b
lea ecx, [ebp - 0xb0]
call fcn.0041a553
lea ecx, [ebp - 0xf8]
call fcn.0041a553
lea ecx, [ebp - 0xec]
call fcn.00413e0b
lea ecx, [ebp - 0x138]
call fcn.00413e0b
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret
mov ecx, dword [ebp + 8]
mov edx, 0x479c6b
call fcn.0041480e
test al, al
jne 0x416c39
mov edx, dword [ebp + 8]
mov eax, edx
cmp dword [edx + 0x14], 0x10
jb 0x416c02
mov eax, dword [edx]
mov ecx, dword [edx + 0x10]
lea edi, [ecx + eax]
jb 0x416c15
mov eax, dword [ebp + 8]
mov edx, dword [edx]
mov eax, dword [eax]
add eax, ecx
jmp 0x416c18
lea eax, [ecx + edx]
push eax
push edx
lea ecx, [ebp + 0xc]
call fcn.0041a6b6
pop ecx
pop ecx
mov ecx, dword [ebp + 8]
push edi
push dword [eax]
lea eax, [ebp - 0xc8]
push eax
call fcn.0041a4bb
push 0xf
pop edi
mov dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x44]
push 0x47a010
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], edi
mov byte [ebp - 0x44], bl
call fcn.00413e6c
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x44]
push eax
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0xc
call fcn.00438f31
pop ecx
push eax
lea ecx, [ebp - 0xb0]
call fcn.0041a3b7
lea ecx, [ebp - 0xd4]
call fcn.0041a553
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 4
call fcn.00413e0b
push ecx
push 0x47a014
mov ecx, esi
call fcn.00413227
cmp eax, 0xffffffff
jne 0x416caf
push esi
lea ecx, [ebp - 0x138]
call fcn.004133a2
jmp 0x416e36
mov dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x44]
push 0x479de8
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], edi
mov byte [ebp - 0x44], bl
call fcn.00413e6c
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xd
push eax
mov edx, esi
lea ecx, [ebp - 0xa4]
call fcn.00438f31
pop ecx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0xf
call fcn.00413e0b
push 0x18
mov ecx, ebx
pop edi
mov eax, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xa4]
sub eax, esi
cdq
idiv edi
mov dword [ebp + 0xc], ecx
cmp ecx, eax
jae 0x416e27
imul eax, ecx, 0x18
push ecx
push 0x47a014
add esi, eax
mov dword [ebp - 0xc4], eax
mov ecx, esi
call fcn.00413227
cmp eax, 0xffffffff
je 0x416ded
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x416d36
mov ecx, dword [esi]
mov eax, dword [esi + 0x10]
add ecx, eax
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x2c], ecx
mov ecx, esi
jb 0x416d4c
mov edi, dword [esi]
add edi, eax
jmp 0x416d51
lea edi, [esi + eax]
jb 0x416d53
mov ecx, dword [ecx]
mov eax, edi
sub eax, ecx
push eax
push 0x25
push ecx
call fcn.00443530
add esp, 0xc
mov ecx, edi
test eax, eax
cmovne ecx, eax
cmp ecx, edi
je 0x416d82
lea eax, [ecx + 1]
jmp 0x416d7e
mov dl, byte [eax]
cmp dl, 0x25
je 0x416d7d
mov byte [ecx], dl
inc ecx
inc eax
cmp eax, edi
jne 0x416d73
push dword [ebp - 0x2c]
lea eax, [ebp - 0xc8]
push ecx
push eax
mov ecx, esi
call fcn.0041a4bb
mov eax, dword [ebp - 0xa4]
mov esi, dword [ebp - 0xc4]
add eax, esi
cmp dword [eax + 0x14], 0x10
jb 0x416daa
mov eax, dword [eax]
push eax
call fcn.004472c1
pop ecx
test eax, eax
je 0x416ddd
mov eax, dword [ebp - 0xa4]
add eax, esi
cmp dword [eax + 0x14], 0x10
jb 0x416dc5
mov eax, dword [eax]
push eax
call fcn.004472c1
pop ecx
push eax
lea ecx, [ebp - 0x138]
call fcn.0041335c
push 0x18
pop edi
jmp 0x416e1e
lea ecx, [ebp - 0xa4]
call fcn.0041a553
jmp 0x416ba9
push esi
mov edx, 0x479de8
lea ecx, [ebp - 0x8c]
call fcn.0041a63a
pop ecx
push eax
lea ecx, [ebp - 0x138]
mov byte [ebp - 4], 0x10
call fcn.0041337d
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0xf
call fcn.00413e0b
mov ecx, dword [ebp + 0xc]
inc ecx
jmp 0x416cef
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 4
call fcn.0041a553
mov byte [ebp + 0xc], bl
lea edx, [ebp - 0x138]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x8c]
call fcn.00415604
pop ecx
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
call fcn.0040c85f
lea ecx, [ebp - 0x8c]
mov byte [ebp + 0xf], al
mov byte [ebp - 4], 4
call fcn.00413c2d
cmp byte [ebp + 0xf], 0
je 0x416ba9
mov byte [ebp + 0xc], bl
lea edx, [ebp - 0x138]
push dword [ebp + 0xc]
lea ecx, [ebp - 0x8c]
call fcn.00415604
cmp byte [ebp + 0x14], 0
pop ecx
je 0x417790
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x12
push eax
lea ecx, [ebp - 0x104]
call fcn.0040c7bc
lea ecx, [ebp - 0x8c]
call fcn.00413c2d
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xc0]
call fcn.0040d0e9
mov edi, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xbc]
mov dword [ebp + 0xc], edi
mov dword [ebp - 0xb8], edi
mov dword [ebp - 0xb4], esi
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040d0e9
mov ecx, dword [ebp - 0x9c]
xorps xmm0, xmm0
movlpd qword [ebp - 0xc0], xmm0
mov eax, ebx
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0xbc], ebx
test ecx, ecx
je 0x416f25
call fcn.0040aecf
mov eax, ebx
mov byte [ebp - 4], 0x16
cmp edi, eax
je 0x418094
mov esi, dword [ebp + 0x10]
mov edx, 0x479c6b
mov ecx, esi
mov byte [ebp - 4], 0x17
call fcn.0041480e
test al, al
jne 0x41700e
mov dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x44]
push 0x47a010
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], bl
call fcn.00413e6c
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x18
push eax
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.00438f31
pop ecx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1a
call fcn.00413e0b
mov edi, ebx
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xd4]
push 0x18
cdq
pop ecx
idiv ecx
cmp edi, eax
jae 0x416ffc
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x8c]
add ecx, 0x20
push ecx
push eax
call fcn.00414478
or dword [ebp - 0x14], 0x100
lea ecx, [ebp - 0x8c]
imul eax, edi, 0x18
push ebx
add eax, dword [ebp - 0xd4]
push eax
call fcn.00413258
lea ecx, [ebp - 0x8c]
mov esi, eax
call fcn.00413e0b
cmp esi, 0xffffffff
je 0x416ff9
lea ecx, [ebp - 0xd4]
call fcn.0041a553
mov byte [ebp - 4], 0x16
jmp 0x41776b
inc edi
jmp 0x416f8d
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x17
call fcn.0041a553
mov edi, dword [ebp + 0xc]
add edi, 0x20
mov ecx, edi
mov dword [ebp - 0xfc], edi
call fcn.004163ae
test al, al
je 0x417764
push ecx
lea eax, [ebp - 0x8c]
mov ecx, edi
push eax
call fcn.00414478
or dword [ebp - 0x14], 0x800
mov cl, 0x3b
mov dword [ebp - 0x25], 0xb6b1ea3b
mov edx, ebx
mov word [ebp - 0x21], 0xa8
not cl
xor cl, byte [ebp + edx - 0x24]
mov byte [ebp + edx - 0x24], cl
inc edx
cmp edx, 4
jae 0x417062
mov cl, byte [ebp - 0x25]
jmp 0x41704d
push ecx
lea eax, [ebp - 0x24]
mov byte [ebp - 0x20], bl
push eax
lea ecx, [ebp - 0x8c]
call fcn.00413227
lea ecx, [ebp - 0x8c]
mov esi, eax
call fcn.00413e0b
cmp esi, 0xffffffff
jne 0x416ff0
push ecx
lea eax, [ebp - 0x8c]
mov ecx, edi
push eax
call fcn.00414478
or dword [ebp - 0x14], 0x4000
mov cl, 0x6d
mov dword [ebp - 0x1e], 0xfcfebc6d
mov edx, ebx
mov word [ebp - 0x1a], 0xf9
not cl
xor cl, byte [ebp + edx - 0x1d]
mov byte [ebp + edx - 0x1d], cl
inc edx
cmp edx, 4
jae 0x4170c7
mov cl, byte [ebp - 0x1e]
jmp 0x4170b2
push ecx
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x19], bl
push eax
lea ecx, [ebp - 0x8c]
call fcn.00413227
lea ecx, [ebp - 0x8c]
mov esi, eax
call fcn.00413e0b
cmp esi, 0xffffffff
je 0x4173d4
cmp byte [ebp + 0x18], 0
je 0x4173d4
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0xc8], eax
push ecx
push eax
mov ecx, edi
call fcn.00414478
or dword [ebp - 0x14], 0x20000
lea ecx, [ebp - 0x8c]
call fcn.004358da
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0xec]
cmp eax, esi
je 0x417142
mov ecx, eax
call fcn.00413e0b
push esi
lea ecx, [ebp - 0xec]
call fcn.00413f58
lea ecx, [ebp - 0x8c]
call fcn.00413e0b
mov esi, 0x479c6b
lea ecx, [ebp - 0xec]
mov edx, esi
call fcn.0041480e
test al, al
jne 0x416ff0
mov ecx, dword [ebp + 8]
mov edx, esi
call fcn.0041480e
test al, al
jne 0x4173d4
mov esi, dword [ebp - 0xb0]
mov edi, ebx
mov eax, dword [ebp - 0xac]
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
cmp edi, eax
jae 0x416ff0
cmp dword [ebp - 0xd8], 0x10
lea edx, [ebp - 0xec]
cmovae edx, dword [ebp - 0xec]
imul ecx, edi, 0x18
add ecx, esi
cmp dword [ecx + 0x14], 0x10
jb 0x4171b8
mov ecx, dword [ecx]
call fcn.00438fe5
test eax, eax
je 0x4173ce
mov byte [ebp - 0xc4], bl
lea edx, [ebp - 0xec]
push dword [ebp - 0xc4]
lea ecx, [ebp - 0x44]
call fcn.00415604
pop ecx
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x44]
mov esi, dword [ebp - 0x14]
or esi, 1
mov dword [ebp - 0x14], esi
call fcn.0041636a
and eax, 0xfffffc00
cmp edx, ebx
ja 0x41725f
jb 0x417207
cmp eax, 0xbb8000
jae 0x41725f
mov byte [ebp - 0x98], bl
lea edx, [ebp - 0xec]
push dword [ebp - 0x98]
lea ecx, [ebp - 0x8c]
call fcn.00415604
pop ecx
mov dword [ebp - 4], 0x1c
lea ecx, [ebp - 0x8c]
or esi, 2
mov dword [ebp - 0x14], esi
call fcn.0041636a
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x90]
shrd esi, ecx, 0xa
cdq
shr ecx, 0xa
cmp ecx, edx
ja 0x41725f
jb 0x417259
cmp esi, eax
jae 0x41725f
mov byte [ebp + 0xf], 1
jmp 0x417262
mov byte [ebp + 0xf], bl
mov eax, dword [ebp - 0x14]
test al, 2
je 0x41727d
and eax, 0xfffffffd
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x14], eax
call fcn.00413c2d
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x17
test al, 1
je 0x417296
and eax, 0xfffffffe
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x14], eax
call fcn.00413c2d
cmp byte [ebp + 0xf], 0
je 0x4173c8
mov edi, 0x479de8
mov dword [ebp - 0x44], ebx
push edi
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], bl
call fcn.00413e6c
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x1d
push eax
lea edx, [ebp - 0xec]
lea ecx, [ebp - 0x114]
call fcn.00438f31
pop ecx
push eax
lea ecx, [ebp - 0xf8]
call fcn.0041a3b7
lea ecx, [ebp - 0x114]
call fcn.0041a553
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x17
call fcn.00413e0b
mov eax, dword [ebp - 0x94]
mov esi, eax
cmp dword [eax + 0x14], 0x10
jb 0x41730b
mov esi, dword [eax]
mov cl, 0x2f
mov dword [ebp - 0x4c], 0xbcb9b62f
mov dword [ebp - 0x48], 0x8ca3b5
mov edx, ebx
not cl
xor byte [ebp + edx - 0x4b], cl
inc edx
cmp edx, 6
jae 0x41732e
mov cl, byte [ebp - 0x4c]
jmp 0x41731d
mov edx, esi
mov byte [ebp - 0x45], bl
lea ecx, [ebp - 0x4b]
call fcn.00435a97
mov dword [ebp - 0x74], ebx
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], bl
call fcn.00413e6c
push edi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x1e
call fcn.0041335c
inc dword [0x48cc68]
lea esi, [ebp - 0xec]
cmp dword [ebp - 0xd8], 0x10
mov edx, dword [ebp - 0xf4]
cmovae esi, dword [ebp - 0xec]
add edx, 0xffffffe8
cmp dword [edx + 0x14], 0x10
jb 0x41738c
mov edx, dword [edx]
cmp dword [ebp - 0x60], 0x10
lea ecx, [ebp - 0x74]
cmovae ecx, dword [ebp - 0x74]
call fcn.00435a97
mov ecx, dword [0x48cc78]
mov edx, eax
push 2
push ebx
push esi
call fcn.0043f07c
add esp, 0xc
lea ecx, [ebp - 0xf8]
call fcn.0041a35a
lea ecx, [ebp - 0x74]
call fcn.00413e0b
jmp 0x416ff0
mov esi, dword [ebp - 0xb0]
inc edi
jmp 0x417181
mov ecx, dword [ebp + 8]
mov edx, 0x479c6b
call fcn.0041480e
test al, al
jne 0x4175ef
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0xb0]
push 0x18
cdq
pop ecx
idiv ecx
cmp esi, eax
jae 0x417764
lea eax, [ebp - 0x8c]
mov ecx, edi
push eax
call fcn.0040bb89
push ecx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, eax
call fcn.00414478
or dword [ebp - 0x14], 0x1000000
lea edx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
cmovae edx, dword [ebp - 0x44]
imul ecx, esi, 0x18
add ecx, dword [ebp - 0xb0]
cmp dword [ecx + 0x14], 0x10
jb 0x417449
mov ecx, dword [ecx]
call fcn.00438fe5
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.00413e0b
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x17
call fcn.00413c2d
test esi, esi
je 0x4175e3
mov ecx, edi
call fcn.0041636a
and eax, 0xfffffc00
cmp edx, ebx
ja 0x4175e3
jb 0x417490
cmp eax, 0xbb8000
jae 0x4175e3
mov ecx, edi
call fcn.0041636a
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x90]
shrd esi, ecx, 0xa
cdq
shr ecx, 0xa
cmp ecx, edx
ja 0x4175e3
jb 0x4174bb
cmp esi, eax
jae 0x4175e3
mov eax, dword [ebp - 0x94]
mov esi, eax
cmp dword [eax + 0x14], 0x10
jb 0x4174cb
mov esi, dword [eax]
mov cl, 0x34
mov dword [ebp - 0x54], 0xa7a2ad34
mov dword [ebp - 0x50], 0x97b8ae
mov edx, ebx
not cl
xor byte [ebp + edx - 0x53], cl
inc edx
cmp edx, 6
jae 0x4174ee
mov cl, byte [ebp - 0x54]
jmp 0x4174dd
mov edx, esi
mov byte [ebp - 0x4d], bl
lea ecx, [ebp - 0x53]
call fcn.00435a97
mov dword [ebp - 0x74], ebx
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], bl
call fcn.00413e6c
push 0x479de8
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x20
call fcn.0041335c
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x8c]
inc dword [0x48cc68]
push ecx
push eax
lea ecx, [esi + 0x20]
call fcn.00414478
or dword [ebp - 0x14], 0x8000000
mov byte [ebp - 4], 0x21
lea eax, [ebp - 0x150]
cmp dword [ebp - 0x78], 0x10
lea edi, [ebp - 0x8c]
push eax
cmovae edi, dword [ebp - 0x8c]
lea ecx, [esi + 0x20]
call fcn.0040bb89
push ecx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x22
push ecx
mov ecx, eax
call fcn.00414478
or dword [ebp - 0x14], 0x40000000
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x44]
cmp dword [ebp - 0x30], 0x10
lea ecx, [ebp - 0x74]
cmovae edx, dword [ebp - 0x44]
cmp dword [ebp - 0x60], 0x10
cmovae ecx, dword [ebp - 0x74]
call fcn.00435a97
mov ecx, dword [0x48cc78]
mov edx, eax
push 2
push ebx
push edi
call fcn.0043f07c
add esp, 0xc
lea ecx, [ebp - 0x44]
call fcn.00413e0b
lea ecx, [ebp - 0x150]
call fcn.00413c2d
lea ecx, [ebp - 0x8c]
call fcn.00413e0b
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x17
call fcn.00413e0b
mov edi, dword [ebp - 0xfc]
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
jmp 0x4173ee
mov ecx, edi
call fcn.0041636a
and eax, 0xfffffc00
cmp edx, ebx
ja 0x417764
jb 0x417610
cmp eax, 0xbb8000
jae 0x417764
mov ecx, edi
call fcn.0041636a
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x90]
shrd esi, ecx, 0xa
cdq
shr ecx, 0xa
cmp ecx, edx
ja 0x417764
jb 0x41763b
cmp esi, eax
jae 0x417764
mov eax, dword [ebp - 0x94]
mov esi, eax
cmp dword [eax + 0x14], 0x10
jb 0x41764b
mov esi, dword [eax]
mov cl, 0x40
mov dword [ebp - 0x5c], 0xd3d6d940
mov dword [ebp - 0x58], 0xe3ccda
mov edx, ebx
not cl
xor byte [ebp + edx - 0x5b], cl
inc edx
cmp edx, 6
jae 0x41766e
mov cl, byte [ebp - 0x5c]
jmp 0x41765d
mov edx, esi
mov byte [ebp - 0x55], bl
lea ecx, [ebp - 0x5b]
call fcn.00435a97
mov dword [ebp - 0x74], ebx
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], bl
call fcn.00413e6c
push 0x479de8
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x24
call fcn.0041335c
inc dword [0x48cc68]
lea eax, [ebp - 0x44]
push ecx
push eax
mov ecx, edi
call fcn.00414478
or dword [ebp - 0x18], 2
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x150]
cmp dword [ebp - 0x30], 0x10
lea esi, [ebp - 0x44]
push eax
cmovae esi, dword [ebp - 0x44]
mov ecx, edi
call fcn.0040bb89
push ecx
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x26
push ecx
mov ecx, eax
call fcn.00414478
or dword [ebp - 0x18], 0x10
mov byte [ebp - 4], 0x27
lea edx, [ebp - 0x8c]
cmp dword [ebp - 0x78], 0x10
lea ecx, [ebp - 0x74]
cmovae edx, dword [ebp - 0x8c]
cmp dword [ebp - 0x60], 0x10
cmovae ecx, dword [ebp - 0x74]
call fcn.00435a97
mov ecx, dword [0x48cc78]
mov edx, eax
push 2
push ebx
push esi
call fcn.0043f07c
add esp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.00413e0b
lea ecx, [ebp - 0x150]
call fcn.00413c2d
lea ecx, [ebp - 0x44]
call fcn.00413e0b
lea ecx, [ebp - 0x74]
call fcn.00413e0b
jmp 0x417764
mov dword [ebp - 4], 0x16
lea ecx, [ebp - 0xb8]
call fcn.0040c806
mov edi, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xc0]
mov dword [ebp + 0xc], edi
jmp 0x416f29
lea eax, [ebp - 0x8c]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x104]
call fcn.0040c515
lea ecx, [ebp - 0x8c]
call fcn.00413c2d
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xb8]
call fcn.0040d0e9
mov edi, dword [ebp - 0xb8]
mov esi, dword [ebp - 0xb4]
mov dword [ebp + 0xc], edi
mov dword [ebp - 0xc0], edi
mov dword [ebp - 0xbc], esi
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xa0]
call fcn.0040d0e9
mov ecx, dword [ebp - 0x9c]
xorps xmm0, xmm0
movlpd qword [ebp - 0xb8], xmm0
mov eax, ebx
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xb4], ebx
test ecx, ecx
je 0x41781a
call fcn.0040aecf
mov eax, ebx
mov byte [ebp - 4], 0x2d
cmp edi, eax
je 0x418094
mov esi, dword [ebp + 0x10]
mov edx, 0x479c6b
mov ecx, esi
mov byte [ebp - 4], 0x2e
call fcn.0041480e
test al, al
jne 0x417903
mov dword [ebp - 0x44], ebx
lea ecx, [ebp - 0x44]
push 0x47a010
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], bl
call fcn.00413e6c
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x2f
push eax
mov edx, esi
lea ecx, [ebp - 0xd4]
call fcn.00438f31
pop ecx
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x31
call fcn.00413e0b
mov edi, ebx
mov eax, dword [ebp - 0xd0]
sub eax, dword [ebp - 0xd4]
push 0x18
cdq
pop ecx
idiv ecx
cmp edi, eax
jae 0x4178f1
mov ecx, dword [ebp + 0xc]
lea eax, [ebp - 0x8c]
add ecx, 0x20
push ecx
push eax
call fcn.00414478
or dword [ebp - 0x18], 0x200
lea ecx, [ebp - 0x8c]
imul eax, edi, 0x18
push ebx
add eax, dword [ebp - 0xd4]
push eax
call fcn.00413258
lea ecx, [ebp - 0x8c]
mov esi, eax
call fcn.00413e0b
cmp esi, 0xffffffff
je 0x4178ee
lea ecx, [ebp - 0xd4]
call fcn.0041a553
mov byte [ebp - 4], 0x2d
jmp 0x41806f
inc edi
jmp 0x417882
lea ecx, [ebp - 0xd4]
mov byte [ebp - 4], 0x2e
call fcn.0041a553
mov edi, dword [ebp + 0xc]
add edi, 0x20
mov ecx, edi
mov dword [ebp - 0xc8], edi
call fcn.004163ae
test al, al
je 0x418068
push ecx
lea eax, [ebp - 0x8c]
mov ecx, edi
push eax
call fcn.00414478
or dword [ebp - 0x18], 0x1000
mov cl, 0x51
mov dword [ebp - 0x1e], 0xdcdb8051
mov edx, ebx
mov word [ebp - 0x1a], 0xc2
not cl
xor cl, byte [ebp + edx - 0x1d]
mov byte [ebp + edx - 0x1d], cl
inc edx
cmp edx, 4
jae 0x417957
mov cl, byte [ebp - 0x1e]
jmp 0x417942
push ecx
lea eax, [ebp - 0x1d]
mov byte [ebp - 0x19], bl
push eax
lea ecx, [ebp - 0x8c]
call fcn.00413227
lea ecx, [ebp - 0x8c]
mov esi, eax
call fcn.00413e0b
cmp esi, 0xffffffff
jne 0x4178e5
push ecx
lea eax, [ebp - 0x8c]
mov ecx, edi
push eax
call fcn.00414478
or dword [ebp - 0x18], 0x8000
mov cl, 0x33
mov dword [ebp - 0x25], 0xa2a0e233
mov edx, ebx
mov word [ebp - 0x21], 0xa7
not cl
xor cl, byte [ebp + edx - 0x24]
mov byte [ebp + edx - 0x24], cl
inc edx
cmp edx, 4
jae 0x4179bc
mov cl, byte [ebp - 0x25]
jmp 0x4179a7
push ecx
lea eax, [ebp - 0x24]
mov byte [ebp - 0x20], bl
push eax
lea ecx, [ebp - 0x8c]
call fcn.00413227
lea ecx, [ebp - 0x8c]
mov esi, eax
call fcn.00413e0b
cmp esi, 0xffffffff
je 0x417cc6
cmp byte [ebp + 0x18], 0
je 0x417cc6
sub esp, 0x18
mov eax, esp
mov dword [ebp - 0x2c], eax
push ecx
push eax
mov ecx, edi
call fcn.00414478
or dword [ebp - 0x18], 0x40000
lea ecx, [ebp - 0x150]
call fcn.004358da
mov esi, eax
add esp, 0x18
lea eax, [ebp - 0xec]
cmp eax, esi
je 0x417a34
mov ecx, eax
call fcn.00413e0b
push esi
lea ecx, [ebp - 0xec]
call fcn.00413f58
lea ecx, [ebp - 0x150]
call fcn.00413e0b
mov esi, 0x479c6b
lea ecx, [ebp - 0xec]
mov edx, esi
call fcn.0041480e
test al, al
jne 0x4178e5
mov ecx, dword [ebp + 8]
mov edx, esi
call fcn.0041480e
test al, al
jne 0x417cc6
mov esi, dword [ebp - 0xb0]
mov edi, ebx
mov eax, dword [ebp - 0xac]
sub eax, esi
push 0x18
cdq
pop ecx
idiv ecx
cmp edi, eax
jae 0x4178e5
cmp dword [ebp - 0xd8], 0x10
lea edx, [ebp - 0xec]
cmovae edx, dword [ebp - 0xec]
imul ecx, edi, 0x18
add ecx, esi
cmp dword [ecx + 0x14], 0x10
jb 0x417aaa
mov ecx, dword [ecx]
call fcn.00438fe5
test eax, eax
je 0x417cc0
mov byte [ebp - 0xfc], bl
lea edx, [ebp - 0xec]
push dword [ebp - 0xfc]
lea ecx, [ebp - 0x44]
call fcn.00415604
pop ecx
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x44]
mov esi, dword [ebp - 0x14]
or esi, 4
mov dword [ebp - 0x14], esi
call fcn.0041636a
and eax, 0xfffffc00
cmp edx, ebx
ja 0x417b51
jb 0x417af9
cmp eax, 0xbb8000
jae 0x417b51
mov byte [ebp - 0xc4], bl
lea edx, [ebp - 0xec]
push dword [ebp - 0xc4]
lea ecx, [ebp - 0x8c]
call fcn.00415604
pop ecx
mov dword [ebp - 4], 0x33
lea ecx, [ebp - 0x8c]
or esi, 8
mov dword [ebp - 0x14], esi
call fcn.0041636a
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x90]
shrd esi, ecx, 0xa
cdq
shr ecx, 0xa
cmp ecx, edx
ja 0x417b51
jb 0x417b4b
cmp esi, eax
jae 0x417b51
mov byte [ebp + 0xf], 1
jmp 0x417b54
mov byte [ebp + 0xf], bl
mov eax, dword [ebp - 0x14]
test al, 8
je 0x417b6f
and eax, 0xfffffff7
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x14], eax
call fcn.00413c2d
mov eax, dword [ebp - 0x14]
mov dword [ebp - 4], 0x2e
test al, 4
je 0x417b88
and eax, 0xfffffffb
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x14], eax
call fcn.00413c2d
cmp byte [ebp + 0xf], 0
je 0x417cba
mov edi, 0x479de8
mov dword [ebp - 0x44], ebx
push edi
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], bl
call fcn.00413e6c
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0x34
push eax
lea edx, [ebp - 0xec]
lea ecx, [ebp - 0x114]
call fcn.00438f31
pop ecx
push eax
lea ecx, [ebp - 0xf8]
call fcn.0041a3b7
lea ecx, [ebp - 0x114]
call fcn.0041a553
lea ecx, [ebp - 0x44]
mov byte [ebp - 4], 0x2e
call fcn.00413e0b
mov eax, dword [ebp - 0x94]
mov esi, eax
inc dword [0x48cc68]
cmp dword [eax + 0x14], 0x10
jb 0x417c03
mov esi, dword [eax]
mov cl, 0x2e
mov dword [ebp - 0x5c], 0xbdb8b72e
mov dword [ebp - 0x58], 0x8da2b4
mov edx, ebx
not cl
xor byte [ebp + edx - 0x5b], cl
inc edx
cmp edx, 6
jae 0x417c26
mov cl, byte [ebp - 0x5c]
jmp 0x417c15
mov edx, esi
mov byte [ebp - 0x55], bl
lea ecx, [ebp - 0x5b]
call fcn.00435a97
mov dword [ebp - 0x74], ebx
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], bl
call fcn.00413e6c
push edi
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x35
call fcn.0041335c
cmp dword [ebp - 0xd8], 0x10
lea esi, [ebp - 0xec]
mov edx, dword [ebp - 0xf4]
cmovae esi, dword [ebp - 0xec]
add edx, 0xffffffe8
cmp dword [edx + 0x14], 0x10
jb 0x417c7e
mov edx, dword [edx]
cmp dword [ebp - 0x60], 0x10
lea ecx, [ebp - 0x74]
cmovae ecx, dword [ebp - 0x74]
call fcn.00435a97
mov ecx, dword [0x48cc78]
mov edx, eax
push 2
push ebx
push esi
call fcn.0043f07c
add esp, 0xc
lea ecx, [ebp - 0xf8]
call fcn.0041a35a
lea ecx, [ebp - 0x74]
call fcn.00413e0b
jmp 0x4178e5
mov esi, dword [ebp - 0xb0]
inc edi
jmp 0x417a73
mov ecx, dword [ebp + 8]
mov edx, 0x479c6b
call fcn.0041480e
test al, al
jne 0x417eed
mov esi, ebx
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0xb0]
push 0x18
cdq
pop ecx
idiv ecx
cmp esi, eax
jae 0x418068
lea eax, [ebp - 0x150]
mov ecx, edi
push eax
call fcn.0040bb89
push ecx
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x36
push ecx
mov ecx, eax
call fcn.00414478
or dword [ebp - 0x18], 0x2000000
lea edx, [ebp - 0x8c]
cmp dword [ebp - 0x78], 0x10
cmovae edx, dword [ebp - 0x8c]
imul ecx, esi, 0x18
add ecx, dword [ebp - 0xb0]
cmp dword [ecx + 0x14], 0x10
jb 0x417d44
mov ecx, dword [ecx]
call fcn.00438fe5
lea ecx, [ebp - 0x8c]
mov esi, eax
call fcn.00413e0b
lea ecx, [ebp - 0x150]
mov byte [ebp - 4], 0x2e
call fcn.00413c2d
test esi, esi
je 0x417ee1
mov ecx, edi
call fcn.0041636a
and eax, 0xfffffc00
cmp edx, ebx
ja 0x417ee1
jb 0x417d8e
cmp eax, 0xbb8000
jae 0x417ee1
mov ecx, edi
call fcn.0041636a
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x90]
shrd esi, ecx, 0xa
cdq
shr ecx, 0xa
cmp ecx, edx
ja 0x417ee1
jb 0x417db9
cmp esi, eax
jae 0x417ee1
mov eax, dword [ebp - 0x94]
mov esi, eax
cmp dword [eax + 0x14], 0x10
jb 0x417dc9
mov esi, dword [eax]
mov cl, 0x5a
mov dword [ebp - 0x54], 0xc9ccc35a
mov dword [ebp - 0x50], 0xf9d6c0
mov edx, ebx
not cl
xor byte [ebp + edx - 0x53], cl
inc edx
cmp edx, 6
jae 0x417dec
mov cl, byte [ebp - 0x54]
jmp 0x417ddb
mov edx, esi
mov byte [ebp - 0x4d], bl
lea ecx, [ebp - 0x53]
call fcn.00435a97
mov dword [ebp - 0x74], ebx
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], bl
call fcn.00413e6c
push 0x479de8
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x37
call fcn.0041335c
mov esi, dword [ebp + 0xc]
lea eax, [ebp - 0x44]
push ecx
push eax
lea ecx, [esi + 0x20]
call fcn.00414478
or dword [ebp - 0x18], 0x10000000
mov byte [ebp - 4], 0x38
lea eax, [ebp - 0x150]
cmp dword [ebp - 0x30], 0x10
lea edi, [ebp - 0x44]
push eax
cmovae edi, dword [ebp - 0x44]
lea ecx, [esi + 0x20]
call fcn.0040bb89
push ecx
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x39
push ecx
mov ecx, eax
call fcn.00414478
or dword [ebp - 0x18], 0x80000000
mov byte [ebp - 4], 0x3a
lea edx, [ebp - 0x8c]
cmp dword [ebp - 0x78], 0x10
lea ecx, [ebp - 0x74]
cmovae edx, dword [ebp - 0x8c]
cmp dword [ebp - 0x60], 0x10
cmovae ecx, dword [ebp - 0x74]
call fcn.00435a97
mov ecx, dword [0x48cc78]
mov edx, eax
push 2
push ebx
push edi
call fcn.0043f07c
add esp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.00413e0b
lea ecx, [ebp - 0x150]
call fcn.00413c2d
lea ecx, [ebp - 0x44]
call fcn.00413e0b
inc dword [0x48cc68]
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x2e
call fcn.00413e0b
mov edi, dword [ebp - 0xc8]
mov esi, dword [ebp - 0x2c]
inc esi
mov dword [ebp - 0x2c], esi
jmp 0x417ce0
mov ecx, edi
call fcn.0041636a
and eax, 0xfffffc00
cmp edx, ebx
ja 0x418068
jb 0x417f0e
cmp eax, 0xbb8000
jae 0x418068
mov ecx, edi
call fcn.0041636a
mov esi, eax
mov ecx, edx
mov eax, dword [ebp - 0x90]
shrd esi, ecx, 0xa
cdq
shr ecx, 0xa
cmp ecx, edx
ja 0x418068
jb 0x417f39
cmp esi, eax
jae 0x418068
mov eax, dword [ebp - 0x94]
mov esi, eax
cmp dword [eax + 0x14], 0x10
jb 0x417f49
mov esi, dword [eax]
mov cl, 0x2d
mov dword [ebp - 0x4c], 0xbebbb42d
mov dword [ebp - 0x48], 0x8ea1b7
mov edx, ebx
not cl
xor byte [ebp + edx - 0x4b], cl
inc edx
cmp edx, 6
jae 0x417f6c
mov cl, byte [ebp - 0x4c]
jmp 0x417f5b
mov edx, esi
mov byte [ebp - 0x45], bl
lea ecx, [ebp - 0x4b]
call fcn.00435a97
mov dword [ebp - 0x74], ebx
lea ecx, [ebp - 0x74]
push eax
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], bl
call fcn.00413e6c
push 0x479de8
lea ecx, [ebp - 0x74]
mov byte [ebp - 4], 0x3b
call fcn.0041335c
push ecx
lea eax, [ebp - 0x44]
mov ecx, edi
push eax
call fcn.00414478
or dword [ebp - 0x98], 4
mov byte [ebp - 4], 0x3c
lea eax, [ebp - 0x150]
cmp dword [ebp - 0x30], 0x10
lea esi, [ebp - 0x44]
push eax
cmovae esi, dword [ebp - 0x44]
mov ecx, edi
call fcn.0040bb89
push ecx
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x3d
push ecx
mov ecx, eax
call fcn.00414478
or dword [ebp - 0x98], 0x20
mov byte [ebp - 4], 0x3e
lea edx, [ebp - 0x8c]
cmp dword [ebp - 0x78], 0x10
lea ecx, [ebp - 0x74]
cmovae edx, dword [ebp - 0x8c]
cmp dword [ebp - 0x60], 0x10
cmovae ecx, dword [ebp - 0x74]
call fcn.00435a97
mov ecx, dword [0x48cc78]
mov edx, eax
push 2
push ebx
push esi
call fcn.0043f07c
add esp, 0xc
lea ecx, [ebp - 0x8c]
call fcn.00413e0b
lea ecx, [ebp - 0x150]
call fcn.00413c2d
lea ecx, [ebp - 0x44]
call fcn.00413e0b
inc dword [0x48cc68]
lea ecx, [ebp - 0x74]
call fcn.00413e0b
jmp 0x418068
mov dword [ebp - 4], 0x2d
lea ecx, [ebp - 0xc0]
call fcn.0040c562
mov edi, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xb8]
mov dword [ebp + 0xc], edi
jmp 0x41781e
test esi, esi
je 0x41809f
mov ecx, esi
call fcn.0040aecf
mov ecx, dword [ebp - 0x100]
test ecx, ecx
je 0x416ba9
call fcn.0040aecf
jmp 0x416ba9