Function at 0x525f70
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
lea ebp, [esp - 0x50]
sub esp, 0x50
push 0xffffffffffffffff
push 0x642563
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push esi
push edi
mov eax, dword [0x6eed24]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp + 0x30], ebx
mov dword [ebp + 0x14], 0
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0
push 0
lea eax, [ebp + 0x14]
mov dword [ebp - 4], 0
push 0
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x4c], eax
call fcn.0051c7f0
test eax, eax
jne 0x525fde
mov ebx, 0x821403e8
jmp 0x52755c
mov ebx, dword [ebx + 0xb0]
xor eax, eax
mov dword [ebp + 0x38], eax
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x64]
mov dword [ebp + 0x3c], ebx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x68], ebx
mov byte [ebp - 4], 1
test ebx, ebx
je 0x526429
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x52603e
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x64]
lea eax, [ebp + 0x4c]
mov dword [ebp + 0x4c], ebx
push eax
call fcn.00529580
test al, al
jne 0x526044
mov eax, 0x821403e8
mov dword [ebp + 0x38], eax
jmp 0x527529
mov eax, dword [ebx + 8]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp + 0x58]
cmp dword [eax], 0
je 0x526071
mov ecx, dword [eax]
lea edx, [ebp + 0x34]
mov dword [eax + 4], 0x400
mov dword [ebp + 0x34], 0
push edx
mov eax, dword [ecx]
push ecx
call dword [eax + 0x40]
cmp word [ebp + 0x34], 0
jne 0x526414
mov eax, dword [ebx + 4]
lea ecx, [ebp + 0x14]
mov esi, dword [ebx]
mov dword [ebp + 0x20], eax
mov eax, dword [ebp + 0x18]
inc eax
mov dword [ebp + 0x10], esi
push eax
call fcn.00425f60
test al, al
je 0x526031
push 0x48
call fcn.004463f0
mov edi, eax
add esp, 4
mov dword [ebp + 0xc], edi
test edi, edi
je 0x526031
mov dword [edi], 0
xor eax, eax
mov dword [edi + 4], 0
mov dword [edi + 8], eax
mov edx, dword [ebp + 0x20]
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], eax
mov dword [edi + 0x14], eax
mov dword [edi + 0x18], eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], eax
mov dword [edi + 0x28], eax
mov dword [edi + 0x2c], eax
mov dword [edi + 0x30], eax
mov dword [edi + 0x34], eax
mov dword [edi + 0x38], eax
mov dword [edi + 0x3c], eax
mov dword [edi + 0x40], eax
mov dword [edi + 0x44], eax
mov dword [edi], esi
mov dword [edi + 4], edx
mov ecx, dword [ebp + 0x18]
mov dword [ebp + 0x34], ecx
test ecx, ecx
jne 0x526358
or esi, 0xffffffff
mov eax, dword [ebp + 0x18]
lea ecx, [ebp + 0x14]
inc eax
not esi
push eax
call fcn.00425f60
test al, al
je 0x526138
mov ecx, dword [ebp + 0x18]
lea eax, [ecx + 1]
cmp dword [ebp + 0x1c], eax
jb 0x526138
mov eax, dword [ebp + 0x14]
lea ebx, [eax + esi*4]
cmp ecx, esi
jbe 0x526133
sub ecx, esi
lea eax, [ebx + 4]
shl ecx, 2
push ecx
push ebx
push eax
call fcn.004b4200
add esp, 0xc
mov dword [ebx], edi
inc dword [ebp + 0x18]
test edi, edi
je 0x526031
mov ebx, dword [ebp + 0x3c]
mov eax, dword [ebx + 0x30]
test eax, eax
je 0x526157
push 0
push eax
mov ecx, ebx
call fcn.00533940
mov dword [edi + 8], eax
mov esi, dword [ebx + 0x10]
test dword [esi + 0x14], 0x10000000
je 0x52616e
mov ecx, esi
call fcn.0050e5c0
test al, al
je 0x5261d7
mov eax, dword [esi + 0x14]
and eax, 0x3f0000
cmp eax, 0x60000
jne 0x5261d7
mov ecx, dword [esi + 8]
push 0xc6c
call fcn.00506110
test eax, eax
je 0x5261d7
test dword [eax + 0x14], 0x20000000
je 0x5261d7
mov ecx, eax
call fcn.0050d810
mov dword [ebp + 0x4c], eax
test eax, eax
je 0x5261d7
push 0
push eax
push ebx
call fcn.00533690
add esp, 0xc
test eax, eax
jne 0x5261ce
push eax
mov eax, dword [ebp + 0x30]
push dword [ebp + 0x4c]
push dword [eax + 0xb0]
call fcn.00533690
add esp, 0xc
test eax, eax
je 0x5261d7
cmp byte [eax + 0x1a], 1
jne 0x5261d7
mov dword [edi + 0xc], eax
mov ecx, dword [esi + 0x14]
test ecx, 0x10000000
je 0x5261f0
mov ecx, esi
call fcn.0050e5c0
mov ecx, dword [esi + 0x14]
test al, al
je 0x526258
and ecx, 0x3f0000
cmp ecx, 0x60000
jne 0x526258
mov ecx, dword [esi + 8]
push 0x13fa
call fcn.00506110
test eax, eax
je 0x526258
test dword [eax + 0x14], 0x20000000
je 0x526258
mov ecx, eax
call fcn.0050d810
mov dword [ebp + 0x4c], eax
test eax, eax
je 0x526258
push 0
push eax
push ebx
call fcn.00533690
add esp, 0xc
test eax, eax
jne 0x52624f
push eax
mov eax, dword [ebp + 0x30]
push dword [ebp + 0x4c]
push dword [eax + 0xb0]
call fcn.00533690
add esp, 0xc
test eax, eax
je 0x526258
cmp byte [eax + 0x1a], 1
jne 0x526258
mov dword [edi + 0x10], eax
test dword [esi + 0x14], 0x10000000
je 0x52626c
mov ecx, esi
call fcn.0050e5c0
test al, al
je 0x5262d2
mov eax, dword [esi + 0x14]
and eax, 0x3f0000
cmp eax, 0x60000
jne 0x5262d2
mov ecx, dword [esi + 8]
push 0x7db
call fcn.00506110
test eax, eax
je 0x5262d2
test dword [eax + 0x14], 0x20000000
je 0x5262d2
mov ecx, eax
call fcn.0050d810
mov esi, eax
test esi, esi
je 0x5262d2
push 0
push esi
push ebx
call fcn.00533690
add esp, 0xc
test eax, eax
jne 0x5262c9
push eax
mov eax, dword [ebp + 0x30]
push esi
push dword [eax + 0xb0]
call fcn.00533690
add esp, 0xc
test eax, eax
je 0x5262d2
cmp byte [eax + 0x1a], 1
jne 0x5262d2
mov dword [edi + 0x14], eax
mov ebx, dword [ebp - 0x68]
mov dword [ebp + 0x3c], ebx
test ebx, ebx
je 0x526420
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x52601b
mov eax, dword [ebx + 8]
test eax, eax
jne 0x526041
mov esi, dword [ebp - 0x5c]
test esi, esi
je 0x52634c
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov edx, dword [ecx + eax*4 + 0x10]
mov dword [ebp - 0x68], edx
test esi, esi
je 0x52633e
mov edi, dword [ecx + 8]
test edi, edi
jle 0x526327
lea eax, [edi - 1]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x68]
test eax, eax
jg 0x52633a
mov edi, dword [ecx + 4]
test edi, edi
je 0x52633e
mov ecx, edi
mov dword [ebp - 0x14], ecx
mov eax, dword [ecx + 8]
dec eax
mov dword [ebp - 0x10], eax
cmp dword [edx + 8], 0
jne 0x52640c
test esi, esi
jne 0x526303
mov dword [ebp - 0x68], 0
jmp 0x526044
xor ebx, ebx
cmp ecx, 2
jl 0x5263a9
nop
mov eax, ecx
sub eax, ebx
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ebp + 0x14]
sar esi, 1
add esi, ebx
mov ecx, dword [eax + esi*4]
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
mov ecx, dword [ebp + 0x10]
cmp edx, ecx
mov dword [ebp + 0x4c], edx
mov edx, dword [ebp + 0x20]
jne 0x526389
cmp eax, edx
je 0x5263f9
cmp eax, edx
jl 0x52639b
jg 0x526394
cmp dword [ebp + 0x4c], ecx
jb 0x52639b
mov ecx, esi
mov dword [ebp + 0x34], ecx
jmp 0x5263a0
mov ecx, dword [ebp + 0x34]
mov ebx, esi
mov eax, ecx
sub eax, ebx
cmp eax, 2
jge 0x526360
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov eax, dword [eax + ebx*4]
mov esi, dword [eax]
mov eax, dword [eax + 4]
cmp esi, ecx
jne 0x5263c3
cmp eax, edx
jne 0x5263c5
mov esi, ebx
jmp 0x5263f9
cmp eax, edx
jg 0x5263f5
jl 0x5263cd
cmp esi, ecx
jae 0x5263f5
lea esi, [ebx + 1]
cmp esi, dword [ebp + 0x18]
jge 0x5263f7
mov eax, dword [ebp + 0x14]
mov eax, dword [eax + esi*4]
mov ebx, dword [eax]
mov eax, dword [eax + 4]
cmp ebx, ecx
jne 0x5263e8
cmp eax, edx
je 0x5263f9
cmp eax, edx
jg 0x5263f7
jl 0x5263f2
cmp ebx, ecx
jae 0x5263f7
inc esi
jmp 0x5263f7
mov esi, ebx
not esi
test esi, esi
js 0x5260f8
mov eax, dword [ebp + 0x14]
mov edi, dword [eax + esi*4]
jmp 0x526138
mov eax, dword [edx + 8]
jmp 0x526041
mov dword [ebp + 0x38], 0x821404c7
jmp 0x527529
mov eax, dword [ebp + 0x30]
mov ebx, dword [eax + 0xb0]
mov dword [ebp - 0x68], ebx
lea eax, [ebp - 0x64]
nop
mov dword [eax + 8], 0
mov eax, dword [eax]
test eax, eax
jne 0x526430
mov ebx, dword [ebp - 0x68]
lea edx, [ebp - 0x64]
xor ecx, ecx
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
test ebx, ebx
je 0x5267d0
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x526480
mov dword [ebp - 0x68], eax
mov ecx, edx
lea eax, [ebp + 0x4c]
mov dword [ebp + 0x4c], ebx
push eax
call fcn.00529580
test al, al
jne 0x52674d
mov eax, 0x821403e8
mov dword [ebp + 0x38], eax
jmp 0x527529
mov edi, dword [ebx + 8]
mov esi, dword [ebp - 0x5c]
test edi, edi
jne 0x5264d9
test esi, esi
je 0x5264d7
mov edi, edi
mov edi, dword [edx + ecx*4 + 0x10]
mov dword [ebp - 0x68], edi
test esi, esi
je 0x5264c9
mov eax, dword [edx + 8]
test eax, eax
jle 0x5264b2
dec eax
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x68]
test ecx, ecx
jg 0x5264c5
mov eax, dword [edx + 4]
test eax, eax
je 0x5264c9
mov edx, eax
mov dword [ebp - 0x14], edx
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x10], ecx
cmp dword [edi + 8], 0
jne 0x526596
test esi, esi
jne 0x526490
xor edi, edi
mov dword [ebp - 0x68], edi
lea esp, [esp]
mov eax, dword [ebp + 0x58]
cmp dword [eax], 0
je 0x526519
mov ecx, dword [eax]
lea edx, [ebp + 0x34]
mov dword [eax + 4], 0x400
mov dword [ebp + 0x34], 0
push edx
mov eax, dword [ecx]
push ecx
call dword [eax + 0x40]
cmp word [ebp + 0x34], 0
jne 0x5267c3
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x68]
mov eax, dword [ebx + 0x18]
mov dword [ebp + 0x34], eax
mov eax, dword [ebx + 0x1c]
mov ebx, dword [ebp + 0x34]
lea eax, [ebx + eax*4]
mov dword [ebp + 0x28], eax
cmp ebx, eax
je 0x526722
mov eax, dword [ebx]
mov dword [ebp + 0x3c], 0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
shl ecx, 2
mov dword [ebp + 0x10], edx
lea eax, [ecx + edx]
add ecx, 3
shr ecx, 2
cmp eax, edx
sbb eax, eax
not eax
and eax, ecx
mov dword [ebp + 0x20], eax
je 0x526707
mov ecx, dword [ebp + 0x3c]
mov eax, edx
mov edx, dword [ebp + 0x20]
lea esp, [esp]
mov eax, dword [eax]
mov dword [ebp + 0x2c], eax
cmp byte [eax + 0x1a], 1
jne 0x5266ef
mov edi, dword [ebp + 0x18]
mov ebx, dword [eax + 4]
mov edx, dword [eax]
mov dword [ebp + 0x24], ebx
test edi, edi
jne 0x52659e
or esi, 0xffffffff
jmp 0x526639
mov edi, dword [edi + 8]
jmp 0x5264d9
xor ecx, ecx
cmp edi, 2
jl 0x5265eb
mov ebx, dword [ebp + 0x2c]
mov eax, edi
sub eax, ecx
cdq
sub eax, edx
mov esi, eax
mov eax, dword [ebp + 0x14]
sar esi, 1
add esi, ecx
mov eax, dword [eax + esi*4]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [ebp + 0x4c], edx
mov edx, dword [ebx]
mov ebx, dword [ebp + 0x24]
cmp dword [ebp + 0x4c], edx
jne 0x5265d1
cmp eax, ebx
je 0x526635
cmp eax, ebx
jl 0x5265e0
jg 0x5265dc
cmp dword [ebp + 0x4c], edx
jb 0x5265e0
mov edi, esi
jmp 0x5265e2
mov ecx, esi
mov eax, edi
sub eax, ecx
cmp eax, 2
jge 0x5265a5
mov edi, dword [ebp + 0x14]
mov eax, dword [edi + ecx*4]
mov esi, dword [eax]
mov eax, dword [eax + 4]
cmp esi, edx
jne 0x526602
cmp eax, ebx
jne 0x526604
mov esi, ecx
jmp 0x526635
cmp eax, ebx
jg 0x526631
jl 0x52660c
cmp esi, edx
jae 0x526631
lea esi, [ecx + 1]
cmp esi, dword [ebp + 0x18]
jge 0x526633
mov eax, dword [edi + esi*4]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
cmp ecx, edx
jne 0x526624
cmp eax, ebx
je 0x526635
cmp eax, ebx
jg 0x526633
jl 0x52662e
cmp ecx, edx
jae 0x526633
inc esi
jmp 0x526633
mov esi, ecx
not esi
test esi, esi
jns 0x52663d
not esi
test esi, esi
jle 0x526691
mov eax, dword [ebp + 0x14]
mov ecx, dword [eax + esi*4 - 4]
add ecx, 0x30
xor edi, edi
mov dword [ebp + 0x24], ecx
mov edi, edi
mov eax, dword [ecx + edi*4]
test eax, eax
je 0x526662
cmp ebx, dword [eax + 4]
jg 0x526668
jl 0x526662
cmp edx, dword [eax]
jae 0x526668
inc edi
cmp edi, 6
jb 0x526650
test edi, edi
je 0x526691
sub edi, 1
je 0x526689
lea eax, [edi*4]
push eax
lea eax, [ecx + 4]
push eax
push ecx
call fcn.004b4200
mov ecx, dword [ebp + 0x24]
add esp, 0xc
mov ebx, dword [ebp + 0x2c]
mov dword [ecx + edi*4], ebx
jmp 0x526694
mov ebx, dword [ebp + 0x2c]
cmp esi, dword [ebp + 0x18]
jge 0x5266e9
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
mov edi, dword [eax + esi*4]
add edi, 0x18
xor esi, esi
lea esp, [esp]
mov eax, dword [edi + esi*4]
test eax, eax
je 0x5266c2
cmp edx, dword [eax + 4]
jl 0x5266c8
jg 0x5266c2
cmp ecx, dword [eax]
jbe 0x5266c8
inc esi
cmp esi, 6
jb 0x5266b0
test esi, esi
je 0x5266e9
sub esi, 1
je 0x5266e6
lea eax, [esi*4]
push eax
lea eax, [edi + 4]
push eax
push edi
call fcn.004b4200
add esp, 0xc
mov dword [edi + esi*4], ebx
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x10]
inc ecx
add eax, 4
mov dword [ebp + 0x3c], ecx
mov dword [ebp + 0x10], eax
cmp ecx, edx
jne 0x526570
mov ebx, dword [ebp + 0x34]
add ebx, 4
mov dword [ebp + 0x34], ebx
cmp ebx, dword [ebp + 0x28]
jne 0x526533
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x68]
mov ebx, edi
test ebx, ebx
je 0x5267d0
mov eax, dword [edi + 0xc]
test eax, eax
je 0x52675e
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x64]
lea eax, [ebp + 0x28]
mov dword [ebp + 0x28], edi
push eax
call fcn.00529580
test al, al
je 0x526031
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x68]
jmp 0x5264e0
mov edi, dword [edi + 8]
test edi, edi
jne 0x5264d9
test esi, esi
je 0x5264d7
mov eax, dword [edx + ecx*4 + 0x10]
mov dword [ebp - 0x68], eax
test esi, esi
je 0x5267ac
mov edi, dword [edx + 8]
test edi, edi
jle 0x526795
lea eax, [edi - 1]
mov dword [edx + 8], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x68]
test ecx, ecx
jg 0x5267a8
mov edi, dword [edx + 4]
test edi, edi
je 0x5267ac
mov edx, edi
mov dword [ebp - 0x14], edx
mov ecx, dword [edx + 8]
dec ecx
mov dword [ebp - 0x10], ecx
cmp dword [eax + 8], 0
jne 0x5267bb
test esi, esi
jne 0x526771
jmp 0x5264d7
mov edi, dword [eax + 8]
jmp 0x5264d9
mov eax, 0x821404c7
mov dword [ebp + 0x38], eax
jmp 0x527529
xor esi, esi
xor edi, edi
mov dword [ebp], esi
mov dword [ebp + 0x2c], edi
mov dword [ebp + 4], edi
mov dword [ebp + 8], esi
mov ecx, dword [ebp + 0x30]
mov byte [ebp - 4], 2
call fcn.005207c0
lea ebx, [esi + 1]
mov dword [ebp + 0x4c], eax
cmp eax, ebx
jb 0x5268f0
lea ebx, [ebx]
mov eax, dword [ebp + 0x30]
push 0
push ebx
push dword [eax + 0xac]
call fcn.00533690
add esp, 0xc
test eax, eax
je 0x5268d5
mov ecx, eax
call fcn.005337f0
test eax, eax
je 0x5268d5
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x5268d5
test byte [ecx + 0x1b], 0x40
jne 0x52684b
mov eax, dword [ecx + 8]
mov eax, dword [eax + 0x34]
test eax, eax
je 0x526857
cmp eax, 1
je 0x526857
mov ecx, dword [ecx + 0x10]
test ecx, ecx
jne 0x526836
jmp 0x5268d5
cmp byte [ecx + 0x1a], 2
jne 0x5268d5
mov eax, dword [ecx]
mov dword [ebp + 0x24], eax
mov dword [ebp + 0x28], eax
lea eax, [ebp + 0x28]
push eax
push edi
push esi
call fcn.00473160
mov esi, eax
add esp, 0xc
not esi
test esi, esi
js 0x5268d2
lea ecx, [edi + 1]
push ecx
lea ecx, [ebp]
call fcn.00425f60
mov ecx, dword [ebp + 4]
mov dword [ebp + 0x2c], ecx
test al, al
je 0x5268e6
lea eax, [ecx + 1]
mov dword [ebp + 0x28], eax
cmp dword [ebp + 8], eax
jb 0x5268e6
mov edx, dword [ebp]
lea edi, [edx + esi*4]
cmp ecx, esi
jbe 0x5268c0
sub ecx, esi
lea eax, [edi + 4]
shl ecx, 2
push ecx
push edi
push eax
call fcn.004b4200
mov eax, dword [ebp + 0x28]
add esp, 0xc
lea esp, [esp]
mov ecx, dword [ebp + 0x24]
mov esi, dword [ebp]
mov dword [edi], ecx
mov ecx, eax
mov dword [ebp + 0x2c], ecx
mov dword [ebp + 4], ecx
jmp 0x5268d8
mov esi, dword [ebp]
mov ecx, dword [ebp + 0x2c]
inc ebx
cmp ebx, dword [ebp + 0x4c]
ja 0x5268f2
mov edi, dword [ebp + 0x2c]
jmp 0x526800
mov ebx, 0x821403e8
mov dword [ebp + 0x38], ebx
jmp 0x5268f4
xor ecx, ecx
xor ebx, ebx
mov dword [ebp + 0x40], 0
mov dword [ebp + 0x44], 0
mov dword [ebp + 0x48], 0
mov eax, dword [ebp + 0x18]
shl eax, 4
add eax, ecx
mov byte [ebp - 4], 3
push eax
lea ecx, [ebp + 0x40]
call fcn.00425f60
test al, al
jne 0x526947
mov eax, 0x821403e8
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x40]
mov byte [ebp - 4], 4
test eax, eax
je 0x52693e
push eax
call fcn.00446420
add esp, 4
mov byte [ebp - 4], 5
jmp 0x527519
test ebx, ebx
jns 0x526968
mov eax, dword [ebp + 0x40]
mov byte [ebp - 4], 6
test eax, eax
je 0x52695f
push eax
call fcn.00446420
add esp, 4
mov byte [ebp - 4], 7
jmp 0x527519
mov ecx, dword [ebp + 0x14]
mov eax, dword [ebp + 0x18]
mov edi, dword [ebp + 0x44]
mov dword [ebp + 0x20], ecx
lea eax, [ecx + eax*4]
mov dword [ebp + 0xc], eax
cmp ecx, eax
je 0x526ea5
mov eax, dword [ebp + 0x58]
mov ebx, dword [ecx]
mov dword [ebp + 0x10], ebx
cmp dword [eax], 0
je 0x5269b4
mov ecx, dword [eax]
lea edx, [ebp + 0x4c]
mov dword [eax + 4], 0x400
mov dword [ebp + 0x4c], 0
push edx
mov eax, dword [ecx]
push ecx
call dword [eax + 0x40]
cmp word [ebp + 0x4c], 0
jne 0x526fa4
add ebx, 0x18
mov esi, 6
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x3c], esi
mov ebx, dword [ebx]
mov edx, dword [ebp + 0x40]
test ebx, ebx
je 0x526b1b
test edi, edi
je 0x526bd1
mov ecx, dword [edx + edi*4 - 4]
mov esi, dword [ebx + 4]
mov eax, dword [ebx]
cmp dword [ecx + 4], esi
jl 0x526bce
jg 0x5269f3
cmp dword [ecx], eax
jb 0x526bce
mov esi, edi
xor ecx, ecx
mov dword [ebp + 0x4c], esi
cmp esi, 2
jl 0x526a58
nop
mov eax, esi
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp + 0x40]
mov esi, eax
sar esi, 1
add esi, ecx
mov eax, dword [edx + esi*4]
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jl 0x526a4a
jg 0x526a29
mov edx, dword [ebx]
cmp dword [eax], edx
mov edx, dword [ebp + 0x40]
jb 0x526a4a
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jg 0x526a45
jl 0x526a3f
mov edx, dword [ebx]
cmp dword [eax], edx
mov edx, dword [ebp + 0x40]
ja 0x526a45
cmp eax, ebx
jb 0x526a4a
jbe 0x526ac0
mov dword [ebp + 0x4c], esi
jmp 0x526a4f
mov ecx, esi
mov esi, dword [ebp + 0x4c]
mov eax, esi
sub eax, ecx
cmp eax, 2
jge 0x526a00
mov eax, dword [edx + ecx*4]
mov esi, dword [ebx + 4]
cmp dword [eax + 4], esi
jl 0x526a8a
mov esi, dword [ebx]
jg 0x526a6b
cmp dword [eax], esi
jb 0x526a8a
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jg 0x526a86
jl 0x526a7c
cmp dword [eax], esi
ja 0x526a86
cmp eax, ebx
jb 0x526a8a
ja 0x526a86
mov esi, ecx
jmp 0x526ac0
mov esi, ecx
jmp 0x526abe
lea esi, [ecx + 1]
cmp esi, edi
jge 0x526abe
mov eax, dword [edx + esi*4]
mov ecx, dword [ebx + 4]
cmp dword [eax + 4], ecx
jl 0x526abd
mov ecx, dword [ebx]
jg 0x526aa4
cmp dword [eax], ecx
jb 0x526abd
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jg 0x526abe
jl 0x526ab5
cmp dword [eax], ecx
ja 0x526abe
cmp eax, ebx
jb 0x526abd
jbe 0x526ac0
jmp 0x526abe
inc esi
not esi
test esi, esi
jns 0x526b18
lea eax, [edi + 1]
not esi
push eax
lea ecx, [ebp + 0x40]
call fcn.00425f60
mov edi, dword [ebp + 0x44]
mov edx, dword [ebp + 0x40]
test al, al
je 0x526b18
lea eax, [edi + 1]
mov dword [ebp + 0x24], eax
cmp dword [ebp + 0x48], eax
jb 0x526b18
lea eax, [edx + esi*4]
mov dword [ebp + 0x28], eax
cmp edi, esi
jbe 0x526b10
sub edi, esi
shl edi, 2
push edi
push eax
add eax, 4
push eax
call fcn.004b4200
mov edx, dword [ebp + 0x40]
add esp, 0xc
mov eax, dword [ebp + 0x28]
lea ebx, [ebx]
mov edi, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [ebp + 0x44], edi
mov esi, dword [ebp + 0x3c]
mov ebx, dword [ebp + 0x34]
add ebx, 4
sub esi, 1
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x3c], esi
jne 0x5269c2
mov ebx, dword [ebp + 0x10]
mov esi, 6
add ebx, 0x44
mov dword [ebp + 0x3c], esi
mov dword [ebp + 0x34], ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x526cce
test edi, edi
je 0x526d83
mov ecx, dword [edx + edi*4 - 4]
mov esi, dword [ebx + 4]
mov eax, dword [ebx]
cmp dword [ecx + 4], esi
jl 0x526d80
jg 0x526b6f
cmp dword [ecx], eax
jb 0x526d80
mov esi, edi
xor ecx, ecx
mov dword [ebp + 0x4c], esi
cmp esi, 2
jl 0x526c0e
nop
mov eax, esi
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp + 0x40]
mov esi, eax
sar esi, 1
add esi, ecx
mov eax, dword [edx + esi*4]
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jl 0x526bfc
jg 0x526ba9
mov edx, dword [ebx]
cmp dword [eax], edx
mov edx, dword [ebp + 0x40]
jb 0x526bfc
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jg 0x526bc9
jl 0x526bbf
mov edx, dword [ebx]
cmp dword [eax], edx
mov edx, dword [ebp + 0x40]
ja 0x526bc9
cmp eax, ebx
jb 0x526bfc
jbe 0x526c76
mov dword [ebp + 0x4c], esi
jmp 0x526c01
mov esi, dword [ebp + 0x3c]
cmp dword [ebp + 0x48], edi
ja 0x526bf0
lea eax, [edi + 1]
push eax
lea ecx, [ebp + 0x40]
call fcn.00425f60
mov edi, dword [ebp + 0x44]
mov edx, dword [ebp + 0x40]
test al, al
je 0x526b1b
mov dword [edx + edi*4], ebx
inc edi
mov dword [ebp + 0x44], edi
jmp 0x526b1b
mov ecx, esi
mov esi, dword [ebp + 0x4c]
mov eax, esi
sub eax, ecx
cmp eax, 2
jge 0x526b80
mov eax, dword [edx + ecx*4]
mov esi, dword [ebx + 4]
cmp dword [eax + 4], esi
jl 0x526c40
mov esi, dword [ebx]
jg 0x526c21
cmp dword [eax], esi
jb 0x526c40
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jg 0x526c3c
jl 0x526c32
cmp dword [eax], esi
ja 0x526c3c
cmp eax, ebx
jb 0x526c40
ja 0x526c3c
mov esi, ecx
jmp 0x526c76
mov esi, ecx
jmp 0x526c74
lea esi, [ecx + 1]
cmp esi, edi
jge 0x526c74
mov eax, dword [edx + esi*4]
mov ecx, dword [ebx + 4]
cmp dword [eax + 4], ecx
jl 0x526c73
mov ecx, dword [ebx]
jg 0x526c5a
cmp dword [eax], ecx
jb 0x526c73
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jg 0x526c74
jl 0x526c6b
cmp dword [eax], ecx
ja 0x526c74
cmp eax, ebx
jb 0x526c73
jbe 0x526c76
jmp 0x526c74
inc esi
not esi
test esi, esi
jns 0x526ccb
lea eax, [edi + 1]
not esi
push eax
lea ecx, [ebp + 0x40]
call fcn.00425f60
mov edi, dword [ebp + 0x44]
test al, al
je 0x526cc8
lea eax, [edi + 1]
mov dword [ebp + 0x24], eax
cmp dword [ebp + 0x48], eax
jb 0x526cc8
mov eax, dword [ebp + 0x40]
lea eax, [eax + esi*4]
mov dword [ebp + 0x28], eax
cmp edi, esi
jbe 0x526cc0
sub edi, esi
shl edi, 2
push edi
push eax
add eax, 4
push eax
call fcn.004b4200
mov eax, dword [ebp + 0x28]
add esp, 0xc
lea ecx, [ecx]
mov edi, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [ebp + 0x44], edi
mov edx, dword [ebp + 0x40]
mov esi, dword [ebp + 0x3c]
mov ebx, dword [ebp + 0x34]
sub ebx, 4
sub esi, 1
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x3c], esi
jne 0x526b41
mov ebx, dword [ebp + 0x10]
mov esi, 4
add ebx, 8
mov dword [ebp + 0x3c], esi
mov dword [ebp + 0x34], ebx
mov ebx, dword [ebx]
test ebx, ebx
je 0x526e7e
test edi, edi
je 0x526f79
mov ecx, dword [edx + edi*4 - 4]
mov esi, dword [ebx + 4]
mov eax, dword [ebx]
cmp dword [ecx + 4], esi
jl 0x526f76
jg 0x526d22
cmp dword [ecx], eax
jb 0x526f76
mov esi, edi
xor ecx, ecx
mov dword [ebp + 0x4c], esi
cmp esi, 2
jl 0x526dc0
mov eax, esi
sub eax, ecx
cdq
sub eax, edx
mov edx, dword [ebp + 0x40]
mov esi, eax
sar esi, 1
add esi, ecx
mov eax, dword [edx + esi*4]
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jl 0x526dae
jg 0x526d5b
mov edx, dword [ebx]
cmp dword [eax], edx
mov edx, dword [ebp + 0x40]
jb 0x526dae
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jg 0x526d7b
jl 0x526d71
mov edx, dword [ebx]
cmp dword [eax], edx
mov edx, dword [ebp + 0x40]
ja 0x526d7b
cmp eax, ebx
jb 0x526dae
jbe 0x526e28
mov dword [ebp + 0x4c], esi
jmp 0x526db3
mov esi, dword [ebp + 0x3c]
cmp dword [ebp + 0x48], edi
ja 0x526da2
lea eax, [edi + 1]
push eax
lea ecx, [ebp + 0x40]
call fcn.00425f60
mov edi, dword [ebp + 0x44]
mov edx, dword [ebp + 0x40]
test al, al
je 0x526cce
mov dword [edx + edi*4], ebx
inc edi
mov dword [ebp + 0x44], edi
jmp 0x526cce
mov ecx, esi
mov esi, dword [ebp + 0x4c]
mov eax, esi
sub eax, ecx
cmp eax, 2
jge 0x526d32
mov eax, dword [edx + ecx*4]
mov esi, dword [ebx + 4]
cmp dword [eax + 4], esi
jl 0x526df2
mov esi, dword [ebx]
jg 0x526dd3
cmp dword [eax], esi
jb 0x526df2
mov edx, dword [ebx + 4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x40]
jg 0x526dee
jl 0x526de4
cmp dword [eax], esi
ja 0x526dee
cmp eax, ebx
jb 0x526df2
ja 0x526dee
mov esi, ecx
jmp 0x526e28
mov esi, ecx
jmp 0x526e26
lea esi, [ecx + 1]
cmp esi, edi
jge 0x526e26
mov ecx, dword [edx + esi*4]
mov eax, dword [ebx + 4]
cmp dword [ecx + 4], eax
jl 0x526e25
mov eax, dword [ebx]
jg 0x526e0c
cmp dword [ecx], eax
jb 0x526e25
mov edx, dword [ebx + 4]
cmp dword [ecx + 4], edx
mov edx, dword [ebp + 0x40]
jg 0x526e26
jl 0x526e1d
cmp dword [ecx], eax
ja 0x526e26
cmp ecx, ebx
jb 0x526e25
jbe 0x526e28
jmp 0x526e26
inc esi
not esi
test esi, esi
jns 0x526e7b
lea eax, [edi + 1]
not esi
push eax
lea ecx, [ebp + 0x40]
call fcn.00425f60
mov edi, dword [ebp + 0x44]
test al, al
je 0x526e78
lea eax, [edi + 1]
mov dword [ebp + 0x24], eax
cmp dword [ebp + 0x48], eax
jb 0x526e78
mov eax, dword [ebp + 0x40]
lea eax, [eax + esi*4]
mov dword [ebp + 0x28], eax
cmp edi, esi
jbe 0x526e70
sub edi, esi
shl edi, 2
push edi
push eax
add eax, 4
push eax
call fcn.004b4200
mov eax, dword [ebp + 0x28]
add esp, 0xc
nop
mov edi, dword [ebp + 0x24]
mov dword [eax], ebx
mov dword [ebp + 0x44], edi
mov edx, dword [ebp + 0x40]
mov esi, dword [ebp + 0x3c]
mov ebx, dword [ebp + 0x34]
add ebx, 4
sub esi, 1
mov dword [ebp + 0x34], ebx
mov dword [ebp + 0x3c], esi
jne 0x526cf4
mov ecx, dword [ebp + 0x20]
add ecx, 4
mov dword [ebp + 0x20], ecx
cmp ecx, dword [ebp + 0xc]
jne 0x526982
mov eax, dword [ebp]
mov ecx, dword [ebp + 0x2c]
mov dword [ebp + 0x34], eax
lea ecx, [eax + ecx*4]
mov dword [ebp + 0x24], ecx
cmp eax, ecx
je 0x5270bc
lea esp, [esp]
mov esi, dword [ebp + 0x30]
push 0
push dword [eax]
push dword [esi + 0xac]
call fcn.00533690
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x5270f8
cmp byte [ebx + 0x1a], 1
jne 0x5270f8
mov dword [ebp + 0x28], ebx
test edi, edi
je 0x527088
mov ecx, dword [ebp + 0x40]
mov edx, dword [ebx + 4]
mov eax, dword [ebx]
mov esi, dword [ecx + edi*4 - 4]
cmp dword [esi + 4], edx
jl 0x527088
jg 0x526f13
cmp dword [esi], eax
jb 0x527088
mov esi, edi
xor edx, edx
mov dword [ebp + 0x4c], esi
mov dword [ebp + 0x58], edx
cmp esi, 2
jl 0x526fe0
mov eax, esi
sub eax, edx
cdq
sub eax, edx
mov edx, dword [ebx + 4]
mov esi, eax
sar esi, 1
add esi, dword [ebp + 0x58]
mov eax, dword [ecx + esi*4]
cmp dword [eax + 4], edx
mov edx, dword [ebp + 0x58]
jl 0x526fc9
jg 0x526f51
mov ecx, dword [ebx]
cmp dword [eax], ecx
mov ecx, dword [ebp + 0x40]
jb 0x526fc9
mov ecx, dword [ebx + 4]
cmp dword [eax + 4], ecx
mov ecx, dword [ebp + 0x40]
jg 0x526f71
jl 0x526f67
mov edx, dword [ebx]
cmp dword [eax], edx
mov edx, dword [ebp + 0x58]
ja 0x526f71
cmp eax, ebx
jb 0x526fc9
jbe 0x52703a
mov dword [ebp + 0x4c], esi
jmp 0x526fd1
mov esi, dword [ebp + 0x3c]
cmp dword [ebp + 0x48], edi
ja 0x526f98
lea eax, [edi + 1]
push eax
lea ecx, [ebp + 0x40]
call fcn.00425f60
mov edi, dword [ebp + 0x44]
mov edx, dword [ebp + 0x40]
test al, al
je 0x526e7e
mov dword [edx + edi*4], ebx
inc edi
mov dword [ebp + 0x44], edi
jmp 0x526e7e
mov eax, 0x821404c7
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x40]
mov byte [ebp - 4], 8
test eax, eax
je 0x526fc0
push eax
call fcn.00446420
add esp, 4
mov byte [ebp - 4], 9
jmp 0x527519
mov edx, esi
mov esi, dword [ebp + 0x4c]
mov dword [ebp + 0x58], edx
mov eax, esi
sub eax, edx
cmp eax, 2
jge 0x526f26
mov eax, dword [ebx]
mov esi, dword [ecx + edx*4]
mov ecx, dword [esi]
mov dword [ebp + 0x58], ecx
mov ecx, dword [esi + 4]
mov esi, dword [ebx + 4]
cmp ecx, esi
mov dword [ebp + 0xc], ecx
mov ecx, dword [ebp + 0x40]
jl 0x52701a
jg 0x526fff
cmp dword [ebp + 0x58], eax
jb 0x52701a
cmp dword [ebp + 0xc], esi
jg 0x527016
jl 0x52700b
cmp dword [ebp + 0x58], eax
ja 0x527016
cmp dword [ecx + edx*4], ebx
jb 0x52701a
ja 0x527016
mov esi, edx
jmp 0x52703a
mov esi, edx
jmp 0x527038
lea esi, [edx + 1]
cmp esi, edi
jge 0x527038
lea eax, [ebp + 0x28]
push eax
lea eax, [ecx + esi*4]
push eax
lea ecx, [ebp + 0x5b]
call fcn.0051c7a0
test eax, eax
je 0x52703a
jg 0x527038
inc esi
not esi
test esi, esi
jns 0x5270aa
lea eax, [edi + 1]
not esi
push eax
lea ecx, [ebp + 0x40]
call fcn.00425f60
mov edi, dword [ebp + 0x44]
test al, al
je 0x5270aa
lea eax, [edi + 1]
mov dword [ebp + 0xc], eax
cmp dword [ebp + 0x48], eax
jb 0x5270aa
mov eax, dword [ebp + 0x40]
lea eax, [eax + esi*4]
mov dword [ebp + 0x58], eax
cmp edi, esi
jbe 0x527081
sub edi, esi
shl edi, 2
push edi
push eax
add eax, 4
push eax
call fcn.004b4200
mov eax, dword [ebp + 0x58]
add esp, 0xc
mov edi, dword [ebp + 0xc]
mov dword [eax], ebx
jmp 0x5270a7
cmp dword [ebp + 0x48], edi
ja 0x5270a0
lea eax, [edi + 1]
push eax
lea ecx, [ebp + 0x40]
call fcn.00425f60
mov edi, dword [ebp + 0x44]
test al, al
je 0x5270aa
mov eax, dword [ebp + 0x40]
mov dword [eax + edi*4], ebx
inc edi
mov dword [ebp + 0x44], edi
mov eax, dword [ebp + 0x34]
add eax, 4
mov dword [ebp + 0x34], eax
cmp eax, dword [ebp + 0x24]
jne 0x526ec0
mov esi, dword [ebp + 0x30]
cmp dword [esi + 0xa8], 0
jne 0x527168
cmp dword [esi + 0x8c], 0
je 0x527168
push 0x10
call fcn.004463f0
add esp, 4
mov dword [ebp + 0x58], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x527133
push esi
mov ecx, eax
call fcn.00536e20
jmp 0x527135
or dword [esi + 0xcc], 0x80
mov eax, 0x8214100e
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x40]
mov byte [ebp - 4], 0xa
test eax, eax
je 0x52711e
push eax
call fcn.00446420
add esp, 4
mov esi, dword [ebp]
mov byte [ebp - 4], 0xb
test esi, esi
je 0x527529
push esi
jmp 0x527521
xor eax, eax
mov byte [ebp - 4], 3
mov dword [esi + 0xa8], eax
test eax, eax
je 0x527168
mov ecx, eax
call fcn.005375f0
test al, al
jne 0x527168
mov ecx, dword [esi + 0xa8]
test ecx, ecx
je 0x52715e
mov eax, dword [ecx]
push 1
call dword [eax]
mov dword [esi + 0xa8], 0
mov eax, dword [esi + 0xa8]
xor ecx, ecx
mov dword [ebp + 0x4c], eax
mov dword [ebp + 0x34], ecx
test edi, edi
je 0x527501
mov edi, edi
mov eax, dword [ebp + 0x40]
push 0
mov ebx, dword [eax + ecx*4]
mov dword [ebp + 0x58], ebx
push dword [ebx + 0x14]
push dword [esi + 0xac]
call fcn.00533690
add esp, 0xc
test eax, eax
je 0x5274f9
mov ecx, eax
call fcn.005337f0
mov esi, eax
test esi, esi
je 0x5274f9
cmp dword [esi + 4], ebx
jne 0x5271d0
mov ecx, esi
call fcn.00534680
mov ecx, esi
mov dword [ebp + 0x38], eax
call fcn.00534630
jmp 0x52744f
mov ecx, dword [ebp + 0x30]
mov ebx, 0x10
mov eax, dword [ebp + 0x4c]
lea esi, [ecx + 0x120]
mov dword [ecx + 0x178], eax
mov dword [ecx + 0x180], 0x100
mov dword [ecx + 0x17c], 0x100
mov byte [ecx + 0x284], 0
mov ecx, esi
call fcn.005396a0
mov ecx, dword [ebp + 0x58]
mov edx, dword [ebp + 0x4c]
push dword [ecx + 4]
mov eax, dword [edx]
push dword [ecx]
mov ecx, edx
call dword [eax + 4]
mov ecx, esi
call fcn.005396a0
mov eax, dword [ebp + 0x30]
mov ecx, esi
mov dword [eax + 0x168], eax
call fcn.00538860
mov dword [ebp + 0x38], eax
test eax, eax
js 0x527446
mov ecx, dword [ebp + 0x30]
mov eax, dword [ecx + 0x16c]
cmp eax, 4
je 0x527254
cmp eax, 5
jne 0x52743a
sub eax, 4
je 0x527297
sub eax, 1
je 0x527262
xor eax, eax
jmp 0x52729d
mov eax, dword [ecx + 0x138]
mov ecx, dword [ecx + 0x13c]
test ecx, ecx
jl 0x527282
jg 0x52727b
cmp eax, 0x7fffffff
jbe 0x527282
mov eax, SysReAllocString
jmp 0x52729d
cmp ecx, 0xffffffff
jg 0x52729d
jl 0x527290
cmp eax, 0x80000000
jae 0x52729d
mov eax, SysReAllocString
jmp 0x52729d
mov eax, dword [ecx + 0x130]
mov ecx, dword [ebp + 0x58]
cmp eax, dword [ecx + 0x14]
jne 0x52743a
mov ecx, esi
call fcn.00538860
mov dword [ebp + 0x38], eax
test eax, eax
js 0x527446
mov eax, dword [ebp + 0x30]
mov eax, dword [eax + 0x16c]
cmp eax, 4
je 0x5272d2
cmp eax, 5
jne 0x52743a
mov ecx, esi
call fcn.00538860
mov dword [ebp + 0x38], eax
test eax, eax
js 0x527446
mov eax, dword [ebp + 0x30]
cmp dword [eax + 0x16c], 1
jne 0x52743f
cmp dword [esi + 4], 3
jne 0x52743f
mov eax, dword [esi]
mov ecx, 0x626f
cmp cx, word [eax]
jne 0x52743f
mov ecx, 0x6a
cmp cl, byte [eax + 2]
jne 0x52743f
mov ecx, esi
call fcn.00538860
mov dword [ebp + 0x38], eax
test eax, eax
js 0x527446
mov dword [ebp + 0x58], 0
push 0x18
mov byte [ebp - 4], 0xd
call fcn.004463f0
mov ecx, eax
add esp, 4
mov dword [ebp + 0xc], ecx
test ecx, ecx
je 0x52737f
mov dword [ecx + 4], 0
xor eax, eax
mov word [ecx + 0x14], ax
mov eax, dword [ecx + 0x14]
and eax, 0x803fffff
mov dword [ecx + 4], 0
or eax, 0x3f0000
mov dword [ecx], 0x67a854
mov dword [ecx + 0x10], 0
mov dword [ecx + 0x14], eax
jmp 0x527381
xor ecx, ecx
push ecx
lea ecx, [ebp + 0x58]
call fcn.0048e0c0
mov esi, dword [ebp + 0x58]
test esi, esi
jne 0x52739a
mov dword [ebp + 0x38], 0x821403e8
jmp 0x5273cc
mov ecx, dword [ebp + 0x30]
push esi
lea ecx, [ecx + 0x120]
call fcn.00537f40
mov dword [ebp + 0x38], eax
test eax, eax
jns 0x5273e0
mov ecx, esi
mov byte [ebp - 4], 0xe
xor esi, esi
push ecx
mov dword [ebp + 0x58], esi
mov eax, dword [ecx]
call dword [eax + 8]
mov eax, dword [ebp + 0x38]
mov byte [ebp - 4], 0xd
test eax, eax
jns 0x5273e0
mov byte [ebp - 4], 0xf
test esi, esi
je 0x5273da
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov byte [ebp - 4], 3
jmp 0x527446
mov ecx, dword [ebp + 0x30]
lea ecx, [ecx + 0x120]
call fcn.00538860
mov dword [ebp + 0x38], eax
test eax, eax
jns 0x5273fb
mov byte [ebp - 4], 0x10
jmp 0x5273d0
mov eax, dword [ebp + 0x30]
mov ebx, dword [eax + 0x16c]
cmp ebx, 7
jne 0x52742a
mov eax, dword [esi + 0x14]
and eax, 0x3f0000
cmp eax, 0x60000
jne 0x52742a
xor ebx, ebx
mov eax, dword [esi]
push esi
mov byte [ebp - 4], 0x12
call dword [eax + 8]
mov byte [ebp - 4], 3
jmp 0x527446
sub ebx, 9
mov byte [ebp - 4], 0x11
neg ebx
sbb ebx, ebx
and ebx, 0x20
jmp 0x5273d0
mov ebx, 0x40
mov dword [ebp + 0x38], 0x82141009
mov eax, dword [ebp + 0x30]
or dword [eax + 0xcc], ebx
mov esi, dword [ebp + 0x38]
test esi, esi
jns 0x5274e6
mov ebx, esi
movzx edx, si
shr ebx, 0x19
mov ecx, esi
and bl, 1
je 0x52747e
and ecx, 0x1ff0000
cmp edx, 0x4c7
sete al
test al, al
jne 0x5274e6
jmp 0x527494
and ecx, 0x1ff0000
cmp ecx, 0x70000
jne 0x527494
cmp edx, 0x4c7
je 0x5274e6
cmp esi, 0x8007000e
je 0x5274e6
mov eax, esi
and eax, 0xc0000000
cmp eax, 0x80000000
jne 0x5274b2
cmp ecx, 0x1ff0000
jmp 0x5274b8
cmp ecx, 0x70000
sete al
test al, al
je 0x5274cb
cmp edx, 8
je 0x5274e6
cmp edx, 0xe
je 0x5274e6
jmp 0x5274d7
cmp edx, 0x3e8
jne 0x5274d7
test bl, bl
jne 0x5274e6
and esi, 0x3fffffff
or esi, 0x40000000
mov dword [ebp + 0x38], esi
mov ecx, dword [ebp + 0x34]
inc ecx
mov dword [ebp + 0x34], ecx
cmp ecx, edi
jae 0x527501
mov esi, dword [ebp + 0x30]
jmp 0x527180
mov eax, 0x821403e8
mov dword [ebp + 0x38], eax
mov eax, dword [ebp + 0x40]
mov byte [ebp - 4], 0x13
test eax, eax
je 0x527515
push eax
call fcn.00446420
add esp, 4
mov byte [ebp - 4], 0x14
mov edx, dword [ebp]
test edx, edx
je 0x527529
push edx
call fcn.00446420
add esp, 4
lea ecx, [ebp - 0x64]
call fcn.00508890
mov edi, dword [ebp + 0x18]
xor esi, esi
mov ebx, dword [ebp + 0x14]
test edi, edi
je 0x527559
lea ecx, [ecx]
mov eax, dword [ebx + esi*4]
test eax, eax
je 0x527554
push eax
mov byte [ebp - 4], 0x15
call fcn.00446420
add esp, 4
inc esi
cmp esi, edi
jb 0x527540
mov ebx, dword [ebp + 0x38]
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 4], 0x16
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x14], 0
test ecx, ecx
je 0x527588
push ecx
call fcn.00446420
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
lea esp, [ebp + 0x50]
pop ebp
ret 4