Function at 0x447360
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x512a04
mov eax, dword fs:[0]
push eax
sub esp, 0x28
push ebx
push esi
push edi
mov eax, dword [0x7c6ee4]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov ebx, dword [ebp + 8]
mov ecx, ebx
mov edi, dword [0x530960]
push 0x1e
call edi
test al, al
je 0x4473e0
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
add eax, 1
mov dword [ebp - 0x10], eax
adc ecx, 0
cmp byte [esi + 0xbf], 0
mov dword [ebp - 0x14], ecx
je 0x4473ca
add eax, 1
mov dword [ebp - 0x10], eax
adc ecx, 0
mov dword [ebp - 0x14], ecx
push ecx
push eax
mov ecx, esi
call fcn.004492d0
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x10]
call fcn.00448fd0
push 0x1f
mov ecx, ebx
call edi
test al, al
je 0x44742d
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
sub eax, 1
mov dword [ebp - 0x10], eax
sbb ecx, 0
cmp byte [esi + 0xbf], 0
mov dword [ebp - 0x14], ecx
je 0x447417
add eax, 0xffffffff
mov dword [ebp - 0x10], eax
adc ecx, 0xffffffff
mov dword [ebp - 0x14], ecx
push ecx
push eax
mov ecx, esi
call fcn.004492d0
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x10]
call fcn.00448fd0
push 0x27
mov ecx, ebx
call edi
test al, al
je 0x447494
mov eax, dword [esi + 0xa0]
mov edi, dword [esi + 0xf4]
add eax, eax
mov ebx, dword [esi + 0xf0]
cdq
push edx
push eax
push edi
push ebx
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
call fcn.0050b8f0
mov ecx, dword [ebp - 0x18]
sub ecx, eax
mov eax, dword [ebp - 0x14]
sbb eax, edx
add ecx, ebx
adc eax, edi
sub ecx, 1
sbb eax, 0
push eax
push ecx
mov ecx, esi
call fcn.004492d0
push dword [esi + 0xf4]
mov ecx, esi
push dword [esi + 0xf0]
call fcn.00448fd0
mov ebx, dword [ebp + 8]
mov edi, dword [0x530960]
push 0x26
mov ecx, ebx
call edi
test al, al
je 0x4474e5
mov eax, dword [esi + 0xa0]
mov edi, dword [esi + 0xf4]
add eax, eax
mov ebx, dword [esi + 0xf0]
cdq
push edx
push eax
push edi
push ebx
call fcn.0050b8f0
sub ebx, eax
mov ecx, esi
sbb edi, edx
push edi
push ebx
call fcn.004492d0
push dword [esi + 0xf4]
mov ecx, esi
push dword [esi + 0xf0]
call fcn.00448fd0
mov ebx, dword [ebp + 8]
mov edi, dword [0x530960]
push 0x23
mov ecx, ebx
call edi
test al, al
je 0x447524
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xf0]
add eax, eax
cdq
sub ecx, eax
mov eax, dword [esi + 0xf4]
sbb eax, edx
push eax
push ecx
mov ecx, esi
call fcn.004492d0
push dword [esi + 0xf4]
mov ecx, esi
push dword [esi + 0xf0]
call fcn.00448fd0
push 0x22
mov ecx, ebx
call edi
test al, al
je 0x44755f
mov eax, dword [esi + 0xa0]
mov ecx, esi
add eax, eax
cdq
add eax, dword [esi + 0xf0]
adc edx, dword [esi + 0xf4]
push edx
push eax
call fcn.004492d0
push dword [esi + 0xf4]
mov ecx, esi
push dword [esi + 0xf0]
call fcn.00448fd0
push 0x24
mov ecx, ebx
call edi
test al, al
je 0x4475a6
mov eax, dword [esi + 0x128]
mov ecx, esi
lea eax, [eax*2 - 2]
imul eax, dword [esi + 0xa0]
cdq
add eax, dword [esi + 0xf0]
adc edx, dword [esi + 0xf4]
push edx
push eax
call fcn.004492d0
push dword [esi + 0xf4]
mov ecx, esi
push dword [esi + 0xf0]
call fcn.00448fd0
push 0x25
mov ecx, ebx
call edi
test al, al
je 0x4475f1
mov eax, dword [esi + 0x128]
mov ecx, dword [esi + 0xf0]
lea eax, [eax*2 - 2]
imul eax, dword [esi + 0xa0]
cdq
sub ecx, eax
mov eax, dword [esi + 0xf4]
sbb eax, edx
push eax
push ecx
mov ecx, esi
call fcn.004492d0
push dword [esi + 0xf4]
mov ecx, esi
push dword [esi + 0xf0]
call fcn.00448fd0
push 0x2b
mov ecx, ebx
call edi
test al, al
je 0x447628
mov ecx, dword [esi + 0xd0]
call fcn.00445ef0
shld edx, eax, 1
mov ecx, esi
add eax, eax
push edx
push eax
call fcn.004492d0
push dword [esi + 0xf4]
mov ecx, esi
push dword [esi + 0xf0]
call fcn.00448fd0
push 0x2a
mov ecx, ebx
call edi
test al, al
je 0x447650
push 0
push 0
mov ecx, esi
call fcn.004492d0
push dword [esi + 0xf4]
mov ecx, esi
push dword [esi + 0xf0]
call fcn.00448fd0
push 0x1a
mov ecx, ebx
call edi
test al, al
je 0x447685
push 0
push 0
mov ecx, esi
call fcn.00448fd0
mov ecx, dword [esi + 0xd0]
call fcn.00445ef0
shld edx, eax, 1
mov ecx, esi
add eax, eax
add eax, 1
adc edx, 0
push edx
push eax
call fcn.00449730
push 0x2c
mov ecx, ebx
call edi
test al, al
je 0x4476d2
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
add eax, 1
mov dword [ebp - 0x10], eax
adc ecx, 0
cmp byte [esi + 0xbf], 0
mov dword [ebp - 0x14], ecx
je 0x4476bc
add eax, 1
mov dword [ebp - 0x10], eax
adc ecx, 0
mov dword [ebp - 0x14], ecx
push ecx
push eax
mov ecx, esi
call fcn.004492d0
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x10]
call fcn.00449730
push 0x2d
mov ecx, ebx
call edi
test al, al
je 0x44771f
mov eax, dword [esi + 0xf0]
mov ecx, dword [esi + 0xf4]
sub eax, 1
mov dword [ebp - 0x10], eax
sbb ecx, 0
cmp byte [esi + 0xbf], 0
mov dword [ebp - 0x14], ecx
je 0x447709
add eax, 0xffffffff
mov dword [ebp - 0x10], eax
adc ecx, 0xffffffff
mov dword [ebp - 0x14], ecx
push ecx
push eax
mov ecx, esi
call fcn.00449730
push dword [ebp - 0x14]
mov ecx, esi
push dword [ebp - 0x10]
call fcn.004492d0
push 0x35
mov ecx, ebx
call edi
test al, al
je 0x447788
mov eax, dword [esi + 0xa0]
mov edi, dword [esi + 0xf4]
add eax, eax
mov ebx, dword [esi + 0xf0]
cdq
push edx
push eax
push edi
push ebx
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], edx
call fcn.0050b8f0
mov ecx, dword [ebp - 0x10]
sub ecx, eax
mov eax, dword [ebp - 0x14]
sbb eax, edx
add ecx, ebx
adc eax, edi
sub ecx, 1
mov dword [ebp - 0x10], ecx
sbb eax, 0
push eax
push ecx
mov ecx, esi
mov dword [ebp - 0x14], eax
call fcn.004492d0
mov edx, dword [ebp - 0x14]
mov ecx, esi
mov eax, dword [ebp - 0x10]
push edx
push eax
call fcn.00449730
mov ebx, dword [ebp + 8]
mov edi, dword [0x530960]
push 0x34
mov ecx, ebx
call edi
test al, al
je 0x4477cf
mov eax, dword [esi + 0xa0]
mov edi, dword [esi + 0xf4]
add eax, eax
mov ebx, dword [esi + 0xf0]
cdq
push edx
push eax
push edi
push ebx
call fcn.0050b8f0
sub ebx, eax
mov ecx, esi
sbb edi, edx
push edi
push ebx
call fcn.004492d0
push edi
push ebx
mov ecx, esi
call fcn.00449730
mov ebx, dword [ebp + 8]
mov edi, dword [0x530960]
push 0x31
mov ecx, ebx
call edi
test al, al
je 0x44780d
mov eax, dword [esi + 0xa0]
mov ecx, esi
mov ebx, dword [esi + 0xf0]
add eax, eax
mov edi, dword [esi + 0xf4]
cdq
sub ebx, eax
sbb edi, edx
push edi
push ebx
call fcn.004492d0
push edi
push ebx
mov ecx, esi
call fcn.00449730
mov ebx, dword [ebp + 8]
mov edi, dword [0x530960]
push 0x30
mov ecx, ebx
call edi
test al, al
je 0x44784b
mov eax, dword [esi + 0xa0]
mov ecx, esi
add eax, eax
cdq
mov ebx, eax
mov edi, edx
add ebx, dword [esi + 0xf0]
adc edi, dword [esi + 0xf4]
push edi
push ebx
call fcn.004492d0
push edi
push ebx
mov ecx, esi
call fcn.00449730
mov ebx, dword [ebp + 8]
mov edi, dword [0x530960]
push 0x32
mov ecx, ebx
call edi
test al, al
je 0x4478a3
mov ecx, esi
call dword [0x531328]
mov ecx, eax
call dword [0x531350]
cdq
mov ecx, esi
idiv dword [esi + 0x1c]
lea eax, [eax*2 - 2]
imul eax, dword [esi + 0xa0]
cdq
mov ebx, eax
mov edi, edx
add ebx, dword [esi + 0xf0]
adc edi, dword [esi + 0xf4]
push edi
push ebx
call fcn.004492d0
push edi
push ebx
mov ecx, esi
call fcn.00449730
mov ebx, dword [ebp + 8]
mov edi, dword [0x530960]
push 0x33
mov ecx, ebx
call edi
test al, al
je 0x4478fb
mov ecx, esi
call dword [0x531328]
mov ecx, eax
call dword [0x531350]
cdq
mov ecx, esi
idiv dword [esi + 0x1c]
mov ebx, dword [esi + 0xf0]
mov edi, dword [esi + 0xf4]
lea eax, [eax*2 - 2]
imul eax, dword [esi + 0xa0]
cdq
sub ebx, eax
sbb edi, edx
push edi
push ebx
call fcn.004492d0
push edi
push ebx
mov ecx, esi
call fcn.00449730
mov ebx, dword [ebp + 8]
mov edi, dword [0x530960]
push 0x39
mov ecx, ebx
call edi
test al, al
je 0x447935
mov ecx, dword [esi + 0xd0]
call fcn.00445ef0
mov ebx, eax
mov edi, edx
shld edi, ebx, 1
mov ecx, esi
push edi
add ebx, ebx
push ebx
call fcn.004492d0
push edi
push ebx
mov ecx, esi
call fcn.00449730
mov ebx, dword [ebp + 8]
mov edi, dword [0x530960]
push 0x38
mov ecx, ebx
call edi
test al, al
je 0x447955
push 0
push 0
mov ecx, esi
call fcn.004492d0
push 0
push 0
mov ecx, esi
call fcn.00449730
cmp byte [esi + 0xbc], 0
jne 0x4481fe
push 8
mov ecx, ebx
call edi
test al, al
je 0x447adb
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 0x48]
sub edi, edx
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x54]
push 0
sbb ecx, eax
push ecx
mov ecx, dword [esi + 0xd0]
push edi
push eax
push edx
lea eax, [ebp - 0x18]
push eax
call fcn.00444eb0
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0
push ecx
mov ecx, eax
mov eax, dword [0x53044c]
call eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call dword [0x5307ac]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov edi, 0x20
mov eax, dword [eax + 4]
cdq
cmp ecx, edx
jg 0x4479f9
jl 0x4479ce
cmp edi, eax
jae 0x4479f9
xor ebx, ebx
push 0x531e54
push edi
lea ecx, [ebp - 0x10]
call dword [0x5302bc]
mov eax, dword [ebp - 0x10]
add edi, 0x21
adc ebx, 0
mov eax, dword [eax + 4]
cdq
cmp ebx, edx
jl 0x4479d0
jg 0x4479f6
cmp edi, eax
jb 0x4479d0
mov ebx, dword [ebp + 8]
mov eax, dword [0x530828]
call eax
mov edi, eax
lea ecx, [ebp - 0x14]
lea eax, [ebp - 0x10]
push eax
call dword [0x530418]
push 0
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 3
push eax
mov ecx, edi
call dword [0x53092c]
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call dword [0x5307a0]
cmp byte [esi + 0xa9], 0
je 0x447a86
mov edi, dword [esi + 0x50]
lea ecx, [ebp - 0x14]
sub edi, dword [esi + 0x48]
mov eax, dword [esi + 0x54]
sbb eax, dword [esi + 0x4c]
push 0
push edi
mov dword [ebp - 0x30], eax
call dword [0x530494]
mov ecx, dword [esi + 0x12c]
push eax
push edi
push dword [esi + 0x4c]
mov byte [ebp - 4], 4
push dword [esi + 0x48]
call fcn.004463c0
mov ecx, esi
call fcn.004470d0
mov ecx, esi
call fcn.00448e60
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 2
call dword [0x5307ac]
jmp 0x447ab3
mov edx, dword [esi + 0x50]
mov edi, dword [esi + 0x48]
sub edx, edi
mov ecx, dword [esi + 0x54]
mov eax, dword [esi + 0x4c]
sbb ecx, eax
push ecx
mov ecx, dword [esi + 0x12c]
push edx
push eax
push edi
call fcn.00446560
mov ecx, esi
call fcn.004470d0
mov ecx, esi
call fcn.00448e60
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
mov ecx, esi
call fcn.004492d0
mov ecx, dword [esi + 0x48]
mov eax, dword [esi + 0x4c]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
jmp 0x447c20
push 0xa
mov ecx, ebx
call edi
test al, al
je 0x447c42
mov eax, dword [0x530828]
call eax
lea ecx, [ebp - 0x28]
mov edi, eax
call dword [0x530498]
push 0
lea eax, [ebp - 0x20]
mov dword [ebp - 4], 5
push eax
mov ecx, edi
call dword [0x530930]
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 6
push ecx
mov ecx, eax
call dword [0x530380]
push eax
lea eax, [ebp - 0x18]
mov byte [ebp - 4], 7
push eax
call dword [0x530448]
add esp, 8
lea ecx, [ebp - 0x10]
push eax
call dword [0x53033c]
lea ecx, [ebp - 0x18]
call dword [0x5307ac]
lea ecx, [ebp - 0x1c]
call dword [0x5307ac]
lea ecx, [ebp - 0x20]
call dword [0x5307a0]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xb
call dword [0x5307ac]
cmp byte [esi + 0xa9], 0
je 0x447bd9
mov ecx, dword [esi + 0xd0]
call fcn.00445ef0
sub eax, dword [esi + 0x70]
mov edi, edx
mov ecx, dword [ebp - 0x10]
sbb edi, dword [esi + 0x74]
mov dword [ebp - 0x14], eax
mov eax, dword [ecx + 4]
cdq
mov ecx, eax
cmp edi, edx
jg 0x447b99
mov eax, dword [ebp - 0x14]
jl 0x447b9b
cmp eax, ecx
jb 0x447b9b
mov eax, ecx
push eax
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x10]
call dword [0x5303b4]
push eax
lea ecx, [ebp - 0x10]
call dword [0x530488]
lea ecx, [ebp - 0x30]
call dword [0x5307ac]
mov eax, dword [ebp - 0x10]
lea ecx, [ebp - 0x10]
push ecx
mov ecx, dword [esi + 0x12c]
push dword [eax + 4]
push dword [esi + 0x74]
push dword [esi + 0x70]
call fcn.004463c0
jmp 0x447bee
mov ecx, dword [esi + 0x12c]
lea eax, [ebp - 0x10]
push eax
push dword [esi + 0x74]
push dword [esi + 0x70]
call fcn.00446090
mov ecx, esi
call fcn.004470d0
mov ecx, esi
call fcn.00448e60
mov eax, dword [ebp - 0x10]
mov ecx, esi
mov eax, dword [eax + 4]
add eax, eax
cdq
add eax, dword [esi + 0xf0]
adc edx, dword [esi + 0xf4]
push edx
push eax
call fcn.004492d0
push dword [esi + 0x4c]
push dword [esi + 0x48]
mov ecx, esi
call fcn.00448fd0
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call dword [0x5307ac]
mov edi, dword [0x530960]
jmp 0x4481fe
push 7
mov ecx, ebx
call edi
test al, al
je 0x447d24
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x4c]
mov edx, dword [esi + 0x54]
cmp dword [esi + 0x48], eax
jne 0x447c89
cmp ecx, edx
jne 0x447c89
cmp byte [esi + 0xa9], 0
mov ecx, esi
push 0
je 0x447c7f
push dword [esi + 0x74]
push dword [esi + 0x70]
call fcn.00448fa0
jmp 0x447cfc
push 1
push dword [esi + 0x74]
push dword [esi + 0x70]
jmp 0x447cf7
cmp byte [esi + 0xa9], 0
mov edi, dword [esi + 0x48]
mov dword [esi + 0x70], edi
mov edi, dword [0x530960]
mov dword [esi + 0x74], ecx
je 0x447ce9
sub eax, dword [esi + 0x48]
mov dword [ebp - 0x30], edx
push 0
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x14]
push eax
call dword [0x530494]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push ecx
mov ecx, esi
mov dword [ebp - 4], 0xc
mov eax, dword [eax + 4]
cdq
push edx
push eax
push dword [esi + 0x74]
push dword [esi + 0x70]
call fcn.00448f70
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
call dword [0x5307ac]
jmp 0x447cfc
sub eax, dword [esi + 0x48]
sbb edx, ecx
push edx
push eax
mov eax, dword [esi + 0x48]
push ecx
push eax
mov ecx, esi
call fcn.00448f40
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
mov ecx, esi
call fcn.004492d0
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
jmp 0x4481f7
cmp dword [ebx + 0x18], 0x1000003
jne 0x447eae
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
call dword [0x53095c]
cmp dword [eax], 0
jne 0x447eae
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
cmp eax, dword [esi + 0x50]
jne 0x447e06
cmp ecx, dword [esi + 0x54]
jne 0x447e06
mov ecx, dword [esi + 0xd0]
mov byte [ebp - 0xd], 0
call fcn.00445ef0
push 0
push 2
push dword [esi + 0xf4]
mov edi, eax
mov dword [ebp - 0x30], edx
push dword [esi + 0xf0]
call fcn.0050b800
cmp eax, edi
jne 0x447d94
cmp edx, dword [ebp - 0x30]
jne 0x447d94
mov byte [ebp - 0xd], 1
add dword [esi + 0x70], 0xffffffff
mov ecx, esi
push 0
adc dword [esi + 0x74], 0xffffffff
cmp byte [esi + 0xa9], 0
je 0x447db6
push dword [esi + 0x74]
push dword [esi + 0x70]
call fcn.00448fa0
jmp 0x447dc3
push 1
push dword [esi + 0x74]
push dword [esi + 0x70]
call fcn.00448f40
cmp byte [ebp - 0xd], 0
jne 0x447dd1
add dword [esi + 0x70], 0xffffffff
adc dword [esi + 0x74], 0xffffffff
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
mov ecx, esi
call fcn.004492d0
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
mov ecx, esi
call fcn.00448fd0
mov edi, dword [0x530960]
jmp 0x4481fe
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ecx
shld ecx, eax, 1
push ecx
add eax, eax
mov ecx, esi
push eax
call fcn.004492d0
cmp byte [esi + 0xa9], 0
mov ecx, dword [esi + 0x50]
mov eax, dword [esi + 0x54]
je 0x447e86
sub ecx, dword [esi + 0x48]
push 0
mov dword [ebp - 0x30], eax
mov eax, dword [esi + 0x4c]
push ecx
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x30], eax
call dword [0x530494]
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
push ecx
mov ecx, esi
mov dword [ebp - 4], 0xd
mov eax, dword [eax + 4]
cdq
push edx
push eax
push dword [esi + 0x74]
push dword [esi + 0x70]
call fcn.00448f70
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
call dword [0x5307ac]
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
jmp 0x4481f7
sub ecx, dword [esi + 0x48]
sbb eax, dword [esi + 0x4c]
push eax
push ecx
push dword [esi + 0x74]
mov ecx, esi
push dword [esi + 0x70]
call fcn.00448f40
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
jmp 0x4481f7
push 0xb
mov ecx, ebx
call edi
test al, al
je 0x447ec4
mov ecx, esi
call fcn.00449850
jmp 0x4481fe
push 0xc
mov ecx, ebx
call edi
test al, al
je 0x447eda
mov ecx, esi
call fcn.00448ee0
jmp 0x4481fe
lea eax, [ebp - 0x30]
push eax
call dword [0x53082c]
add esp, 4
cmp dword [eax], 0
je 0x447f44
lea eax, [ebp - 0x30]
push eax
call dword [0x53082c]
add esp, 4
cmp dword [eax], 0x20000000
je 0x447f44
lea eax, [ebp - 0x30]
push eax
call dword [0x53082c]
add esp, 4
cmp dword [eax], 0x2000000
je 0x447f44
lea eax, [ebp - 0x30]
push eax
call dword [0x53082c]
add esp, 4
cmp dword [eax], 0xc000000
je 0x447f44
lea eax, [ebp - 0x30]
push eax
call dword [0x53082c]
add esp, 4
cmp dword [eax], 0x40000000
jne 0x4481fe
cmp byte [esi + 0xbf], 0
lea eax, [ebp - 0x30]
mov ecx, ebx
push eax
je 0x447f78
call dword [0x530958]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], 0xe
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], 0
call dword [0x5302a8]
movzx eax, al
jmp 0x447fa7
call dword [0x530958]
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x2c]
lea eax, [ebp - 0xe]
mov dword [ebp - 4], 0xf
push eax
mov dword [ebp - 0x28], 0
call dword [0x5302ac]
mov ecx, eax
call dword [0x5302c4]
movsx eax, al
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x14], eax
call dword [0x5307a0]
mov ecx, dword [ebp - 0x14]
cmp ecx, 0x30
jl 0x447fc7
cmp ecx, 0x39
jle 0x447fcf
lea eax, [ecx - 0x61]
cmp eax, 5
ja 0x447fd8
cmp byte [esi + 0xbf], 0
je 0x447fee
cmp ecx, 0x20
jl 0x4481fe
cmp byte [esi + 0xbf], 0
je 0x4481fe
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x4c]
mov eax, dword [esi + 0x54]
cmp dword [esi + 0x48], ecx
jne 0x448004
cmp edx, eax
je 0x448099
cmp byte [esi + 0xa9], 0
je 0x448051
sub ecx, dword [esi + 0x48]
push 0
mov dword [ebp - 0x30], ecx
sbb eax, edx
push ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x28], eax
call dword [0x530494]
push eax
mov eax, dword [ebp - 0x30]
mov ecx, esi
cdq
push edx
push eax
push dword [esi + 0x4c]
mov dword [ebp - 4], 0x10
push dword [esi + 0x48]
call fcn.00448f70
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call dword [0x5307ac]
jmp 0x44806f
sub ecx, dword [esi + 0x48]
sbb eax, edx
push eax
push ecx
push edx
push dword [esi + 0x48]
mov ecx, esi
call fcn.00448f40
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x4c]
mov dword [esi + 0x70], eax
mov dword [esi + 0x74], ecx
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
mov ecx, esi
call fcn.004492d0
mov ecx, dword [esi + 0x70]
mov eax, dword [esi + 0x74]
shld eax, ecx, 1
add ecx, ecx
push eax
push ecx
mov ecx, esi
call fcn.00448fd0
cmp byte [esi + 0xa9], 0
jne 0x4480be
mov eax, dword [esi + 0xf0]
and eax, 1
or eax, 0
jne 0x4480be
push eax
push dword [esi + 0x74]
mov ecx, esi
push dword [esi + 0x70]
call fcn.00447320
mov ecx, dword [esi + 0xd0]
call fcn.00445ef0
test edx, edx
jl 0x4481fe
jg 0x4480db
test eax, eax
je 0x4481fe
cmp byte [esi + 0xbf], 0
mov eax, dword [ebp - 0x14]
mov byte [ebp - 0x18], al
jne 0x4481b2
mov ecx, dword [esi + 0xd0]
lea eax, [ebp - 0x30]
push 0
push 0
push 1
push dword [esi + 0x74]
push dword [esi + 0x70]
push eax
call fcn.00444eb0
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0x11
push ecx
mov ecx, eax
mov eax, dword [0x53044c]
call eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x13
call dword [0x5307ac]
mov eax, dword [esi + 0xf0]
lea ecx, [ebp - 0x2c]
push dword [ebp - 0x14]
and eax, 1
mov dword [ebp - 0x28], 0
or eax, 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x2c], eax
je 0x448152
mov dword [ebp - 0x28], 1
call dword [0x530444]
lea ecx, [ebp - 0x28]
call dword [0x530498]
lea eax, [ebp - 0x10]
mov byte [ebp - 4], 0x14
push eax
lea eax, [ebp - 0x30]
push eax
call dword [0x530448]
add esp, 8
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], 0
call dword [0x530330]
lea ecx, [ebp - 0x30]
mov byte [ebp - 0x18], al
call dword [0x5307ac]
lea ecx, [ebp - 0x28]
call dword [0x5307ac]
lea ecx, [ebp - 0x10]
mov dword [ebp - 4], 0xffffffff
call dword [0x5307ac]
push dword [ebp - 0x18]
mov ecx, esi
push dword [esi + 0x74]
push dword [esi + 0x70]
call fcn.00448fa0
cmp byte [esi + 0xbf], 0
mov ecx, dword [esi + 0xf0]
mov eax, dword [esi + 0xf4]
je 0x4481dc
add ecx, 2
jmp 0x4481df
add ecx, 1
adc eax, 0
push eax
push ecx
mov ecx, esi
call fcn.004492d0
push dword [esi + 0xf4]
push dword [esi + 0xf0]
mov ecx, esi
call fcn.00448fd0
push 9
mov ecx, ebx
call edi
test al, al
je 0x4482d9
mov edx, dword [esi + 0x50]
mov edi, dword [esi + 0x48]
sub edx, edi
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x54]
push 0
sbb ecx, eax
push ecx
mov ecx, dword [esi + 0xd0]
push edx
push eax
push edi
lea eax, [ebp - 0x30]
push eax
call fcn.00444eb0
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0x16
push ecx
mov ecx, eax
call dword [0x53044c]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x18
call dword [0x5307ac]
mov eax, dword [ebp - 0x14]
xor ecx, ecx
mov edi, 0x20
mov eax, dword [eax + 4]
cdq
cmp ecx, edx
jg 0x448299
jl 0x448269
cmp edi, eax
jae 0x448299
xor ebx, ebx
nop dword [eax + eax]
push 0x531e54
push edi
lea ecx, [ebp - 0x14]
call dword [0x5302bc]
mov eax, dword [ebp - 0x14]
add edi, 0x21
adc ebx, 0
mov eax, dword [eax + 4]
cdq
cmp ebx, edx
jl 0x448270
jg 0x448296
cmp edi, eax
jb 0x448270
mov ebx, dword [ebp + 8]
call dword [0x530828]
mov edi, eax
lea ecx, [ebp + 8]
lea eax, [ebp - 0x14]
push eax
call dword [0x530418]
push 0
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x19
push eax
mov ecx, edi
call dword [0x53092c]
lea ecx, [ebp + 8]
call dword [0x5307a0]
lea ecx, [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
call dword [0x5307ac]
cmp dword [ebx + 0x18], 0x1000006
jne 0x448323
lea eax, [ebp - 0x20]
mov ecx, ebx
push eax
call dword [0x53095c]
cmp dword [eax], 0
jne 0x448323
cmp byte [esi + 0xa9], 0
mov ecx, esi
sete al
mov byte [ebp + 8], al
push dword [ebp + 8]
mov byte [esi + 0xa9], al
call fcn.004e4280
push dword [esi + 0xf4]
mov ecx, esi
push dword [esi + 0xf0]
call fcn.004492d0
cmp dword [ebx + 0x18], 0x1000001
jne 0x44834f
cmp byte [esi + 0xbf], 0
jne 0x44834f
push dword [esi + 0xf4]
mov ecx, esi
mov byte [esi + 0xbf], 1
push dword [esi + 0xf0]
call fcn.004492d0
cmp dword [ebx + 0x18], 0x1000002
jne 0x44837b
cmp byte [esi + 0xbf], 0
je 0x44837b
push dword [esi + 0xf4]
mov ecx, esi
mov byte [esi + 0xbf], 0
push dword [esi + 0xf0]
call fcn.004492d0
mov ecx, esi
call fcn.004470d0
mov ecx, esi
call fcn.00448e60
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4