Function at 0x52ca3a
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x93d8e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x68
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0x10]
call fcn.00911f0c
lea ecx, [esp + 0x18]
mov dword [esp + 0x80], 0
call fcn.00911f0c
lea ecx, [esp + 0x2c]
mov byte [esp + 0x80], 1
call fcn.00911f0c
lea ecx, [esp + 0x74]
mov byte [esp + 0x80], 2
call fcn.00911f0c
lea ecx, [esp + 0x70]
mov byte [esp + 0x80], 3
call fcn.00911f0c
lea ecx, [esp + 0x20]
mov byte [esp + 0x80], 4
call fcn.00911f0c
lea ecx, [esp + 0x14]
mov byte [esp + 0x80], 5
call fcn.00911f0c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x80], 6
call fcn.00911f0c
lea ecx, [esp + 0x28]
mov byte [esp + 0x80], 7
call fcn.00911f0c
mov eax, dword [0xa8e738]
lea ecx, [esp + 0x20]
push eax
push 0xa
push 0x25
push 0xa771b0
push ecx
mov byte [esp + 0x94], 8
call fcn.00911f42
push 3
push 0xa
push 0x25
lea edx, [esp + 0x3c]
push 0xa771b0
push edx
call fcn.00911f42
push 2
push 0xa
push 0x25
lea eax, [esp + 0x54]
push 0xa771b0
push eax
call fcn.00911f42
mov al, byte [esi + 0x516]
mov ecx, dword [esp + 0xd0]
mov ebp, dword [esp + 0xc4]
add esp, 0x3c
test al, al
je 0x52cb91
mov eax, dword [esi + 0x584]
test eax, eax
jle 0x52cb59
cmp eax, dword [esi + 0x588]
jge 0x52cb59
add eax, ecx
lea ecx, [esp + 0x10]
push eax
push 0xa773a4
push ecx
jmp 0x52cb64
push ecx
lea edx, [esp + 0x14]
push 0xa773a4
push edx
call fcn.00911f42
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
mov ecx, dword [0xa8e758]
mov ebx, dword [ebp]
mov edi, dword [edx - 8]
mov eax, dword [eax]
add esp, 0xc
add ecx, 3
push edi
push edx
push eax
push ecx
mov ecx, ebp
call dword [ebx + 0x64]
mov al, byte [esi + 0x517]
test al, al
je 0x52cbf3
lea edx, [esi + 0x2fc8]
lea eax, [esp + 0x10]
push edx
push 0xa76fa0
push eax
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esp + 0x9c]
imul eax, dword [esi + 0x734]
cdq
sub eax, edx
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [esi + 0x978]
sar edx, 1
mov eax, dword [esi + eax*4 + 0x484]
mov ebx, dword [ebp]
sub eax, edx
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov edi, dword [edx - 8]
push edi
push edx
push ecx
push eax
mov ecx, ebp
call dword [ebx + 0x64]
mov al, byte [esi + 0x519]
test al, al
je 0x52d030
mov al, byte [0xa8e784]
test al, al
je 0x52ce56
lea ebx, [esi + 0x3015]
lea ecx, [esp + 0x10]
push ebx
call fcn.00911f06
mov ecx, dword [esp + 0x10]
push 0xa76f28
mov edi, dword [ecx - 8]
lea ecx, [esp + 0x14]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x52cd05
push 0xa77194
lea ecx, [esp + 0x14]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x52cd05
push 0xa77190
lea ecx, [esp + 0x14]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x52cd05
push 0xa76f34
lea ecx, [esp + 0x14]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x52cd05
push ebx
lea ecx, [esp + 0x28]
call fcn.00911edc
mov ecx, dword [esi + 0x73c]
mov ebx, dword [esi + 0x9c8]
mov eax, ecx
mov edx, dword [esp + 0x90]
sub eax, edi
mov byte [esp + 0x80], 0xb
imul eax, ebx
mov ebp, dword [edx]
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
mov edi, eax
mov eax, ecx
imul eax, ebx
cdq
sub eax, edx
mov edx, dword [esp + 0x24]
sar edi, 1
sar eax, 1
mov ecx, dword [esp + 0x88]
sub edi, eax
mov eax, dword [esi + 0x5ac]
mov ebx, dword [ecx]
lea eax, [edi + eax - 3]
mov edi, dword [edx - 8]
push edi
push edx
push ebp
push eax
call dword [ebx + 0x64]
lea ecx, [esp + 0x24]
mov byte [esp + 0x80], 8
call fcn.00911ee2
mov ebp, dword [esp + 0x88]
jmp 0x52d030
lea ecx, [esp + 0x34]
push 1
push ecx
lea ecx, [esp + 0x18]
call fcn.0091218e
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x84], 9
call fcn.00911f3c
lea ecx, [esp + 0x34]
mov byte [esp + 0x80], 8
call fcn.00911ee2
lea ebp, [edi - 1]
lea edx, [esp + 0x34]
push ebp
push edx
lea ecx, [esp + 0x18]
call fcn.00912044
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x84], 0xa
call fcn.00911f3c
lea ecx, [esp + 0x34]
mov byte [esp + 0x80], 8
call fcn.00911ee2
mov ecx, dword [esi + 0x73c]
mov ebx, dword [esi + 0x9c8]
mov eax, ecx
sub eax, edi
imul eax, ebx
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
mov edx, eax
mov eax, ecx
imul eax, ebx
sar edx, 1
mov ecx, edx
cdq
sub eax, edx
mov edx, dword [esi + 0x5ac]
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x10]
mov ebx, dword [esp + 0x88]
lea ecx, [ecx + edx - 3]
mov edx, dword [eax - 8]
mov dword [esp + 0x34], edx
push dword [esp + 0x34]
mov edx, dword [ebx]
push eax
mov eax, dword [esp + 0x98]
mov eax, dword [eax]
push eax
push ecx
mov ecx, ebx
call dword [edx + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2154]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov ecx, dword [esp + 0x90]
mov eax, dword [esi + 0x73c]
sub eax, edi
mov edx, dword [ecx]
mov ecx, dword [esi + 0x9c8]
imul eax, ecx
mov dword [esp + 0x34], edx
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
mov edi, eax
sar edi, 1
mov eax, ebp
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
add edi, eax
mov eax, dword [esi + 0x73c]
imul eax, ecx
mov ecx, dword [esp + 0x2c]
cdq
sub eax, edx
mov edx, dword [ecx - 8]
sar eax, 1
sub edi, eax
mov eax, dword [esi + 0x5ac]
push edx
push ecx
mov ecx, dword [esp + 0x3c]
lea eax, [edi + eax - 3]
mov edi, dword [ebx]
push ecx
push eax
mov ecx, ebx
call dword [edi + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2144]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov ebp, ebx
jmp 0x52d030
lea edi, [esi + 0x3015]
lea ecx, [esp + 0x10]
push edi
call fcn.00911f06
push 0xa76f28
lea ecx, [esp + 0x14]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x52cf1d
push 0xa77194
lea ecx, [esp + 0x14]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x52cf1d
push 0xa77190
lea ecx, [esp + 0x14]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x52cf1d
push 0xa76f34
lea ecx, [esp + 0x14]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x52cf1d
push edi
lea ecx, [esp + 0x28]
call fcn.00911edc
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esp + 0x90]
imul eax, dword [esi + 0x73c]
cdq
sub eax, edx
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [esi + 0x5ac]
sar edx, 1
sub eax, edx
mov edx, dword [esp + 0x24]
mov ebx, dword [ebp]
sub eax, 3
mov edi, dword [edx - 8]
mov byte [esp + 0x80], 0xe
push edi
push edx
push ecx
push eax
mov ecx, ebp
call dword [ebx + 0x64]
lea ecx, [esp + 0x24]
mov byte [esp + 0x80], 8
call fcn.00911ee2
jmp 0x52d030
lea eax, [esp + 0x34]
push 1
push eax
lea ecx, [esp + 0x18]
call fcn.0091218e
push eax
lea ecx, [esp + 0x30]
mov byte [esp + 0x84], 0xc
call fcn.00911f3c
lea ecx, [esp + 0x34]
mov byte [esp + 0x80], 8
call fcn.00911ee2
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x34]
mov eax, dword [ecx - 8]
lea ecx, [esp + 0x10]
dec eax
push eax
push edx
call fcn.00912044
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x84], 0xd
call fcn.00911f3c
lea ecx, [esp + 0x34]
mov byte [esp + 0x80], 8
call fcn.00911ee2
mov eax, dword [esp + 0x90]
mov ebx, dword [ebp]
mov ecx, dword [eax]
mov eax, dword [esi + 0x9c8]
imul eax, dword [esi + 0x73c]
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esi + 0x5ac]
sar edx, 1
sub eax, edx
mov edx, dword [esp + 0x10]
sub eax, 3
mov edi, dword [edx - 8]
push edi
push edx
push ecx
push eax
mov ecx, ebp
call dword [ebx + 0x64]
mov eax, dword [ebp]
lea ecx, [esi + 0x2154]
push ecx
mov ecx, ebp
call dword [eax + 0x30]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x10]
mov edi, dword [ecx]
mov eax, dword [edx - 8]
mov ecx, dword [esi + 0x9c8]
imul eax, ecx
cdq
sub eax, edx
mov ebx, eax
mov eax, ecx
imul eax, dword [esi + 0x73c]
cdq
mov ecx, dword [esp + 0x2c]
sub eax, edx
mov edx, dword [esi + 0x5ac]
sar ebx, 1
sar eax, 1
sub ebx, eax
lea eax, [ebx + edx - 3]
mov edx, dword [ecx - 8]
mov ebx, dword [ebp]
push edx
push ecx
push edi
push eax
mov ecx, ebp
call dword [ebx + 0x64]
mov eax, dword [ebp]
lea ecx, [esi + 0x2144]
push ecx
mov ecx, ebp
call dword [eax + 0x30]
mov al, byte [esi + 0x51a]
test al, al
je 0x52d22a
lea edx, [esi + 0x3015]
lea ecx, [esp + 0x18]
push edx
call fcn.00911f06
lea ecx, [esp + 0x18]
call fcn.009123c8
push 0xa77ff0
lea ecx, [esp + 0x1c]
call fcn.009121e8
cmp eax, 0xffffffff
je 0x52d08c
push 3
mov eax, dword [esi + 0x740]
lea ecx, [esp + 0x20]
push eax
push 0x25
push 0xa771b0
push ecx
call fcn.00911f42
add esp, 0x14
jmp 0x52d1b5
push 0xa76f34
lea ecx, [esp + 0x1c]
call fcn.009121e8
cmp eax, 0xffffffff
je 0x52d0c1
mov edx, dword [esi + 0x740]
push 2
push edx
push 0x25
lea eax, [esp + 0x28]
push 0xa771b0
push eax
call fcn.00911f42
add esp, 0x14
jmp 0x52d1b5
push 0xa76f28
lea ecx, [esp + 0x1c]
call fcn.009121e8
cmp eax, 0xffffffff
je 0x52d0f6
mov ecx, dword [esi + 0x740]
push 2
push ecx
push 0x25
lea edx, [esp + 0x28]
push 0xa771b0
push edx
call fcn.00911f42
add esp, 0x14
jmp 0x52d1b5
push 0xa770bc
lea ecx, [esp + 0x1c]
call fcn.009121e8
cmp eax, 0xffffffff
je 0x52d110
push 2
jmp 0x52d06c
push 0xa77fec
lea ecx, [esp + 0x1c]
call fcn.009121e8
cmp eax, 0xffffffff
je 0x52d142
mov edx, dword [esi + 0x740]
push 2
push edx
push 0x25
lea eax, [esp + 0x28]
push 0xa771b0
push eax
call fcn.00911f42
add esp, 0x14
jmp 0x52d1b5
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx - 8]
test eax, eax
je 0x52d1b5
lea ebx, [esi + 0x58]
mov dword [esp + 0x24], 0xc8
mov edi, dword [ebx]
mov eax, dword [esp + 0x18]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [edi]
jne 0x52d182
test cl, cl
je 0x52d17e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [edi + 1]
jne 0x52d182
add eax, 2
add edi, 2
test cl, cl
jne 0x52d15e
xor eax, eax
jmp 0x52d187
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x52d1a7
push eax
mov eax, dword [esi + 0x740]
push eax
push 0x25
lea ecx, [esp + 0x28]
push 0xa771b0
push ecx
call fcn.00911f42
add esp, 0x14
mov eax, dword [esp + 0x24]
add ebx, 4
dec eax
mov dword [esp + 0x24], eax
jne 0x52d158
mov edx, dword [esi + 0x740]
push 3
push edx
push 0x25
lea eax, [esp + 0x28]
push 0xa771b0
push eax
call fcn.00911f42
mov ecx, dword [esi + 0x3044]
mov edx, dword [esi + 0x3040]
mov eax, dword [esp + 0x30]
push ecx
push edx
lea ecx, [esp + 0x2c]
push eax
push ecx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov edx, dword [esp + 0xb4]
imul eax, dword [esi + 0x740]
mov ecx, dword [edx]
mov ebx, dword [ebp]
cdq
sub eax, edx
add esp, 0x24
mov edx, eax
mov eax, dword [esi + 0x5b0]
sar edx, 1
sub eax, edx
mov edx, dword [esp + 0x10]
sub eax, 3
mov edi, dword [edx - 8]
push edi
push edx
push ecx
push eax
mov ecx, ebp
call dword [ebx + 0x64]
mov eax, dword [0xa8e764]
cmp eax, 0x23
je 0x52d244
cmp eax, 0x33
je 0x52d244
cmp eax, 0x16a
jne 0x52d4a1
mov al, byte [esi + 0x51b]
test al, al
je 0x52d2f0
mov eax, dword [esi + 0x30ac]
mov ecx, dword [esi + 0x30a8]
push eax
push ecx
mov ecx, esi
call fcn.008f5ce0
fld dword [esi + 0x9e4]
fcompp
fnstsw ax
test ah, 0x41
je 0x52d2f0
mov edx, dword [0xa8e738]
mov eax, dword [esi + 0x744]
push edx
push eax
push 0x25
lea ecx, [esp + 0x2c]
push 0xa771b0
push ecx
call fcn.00911f42
mov edx, dword [esi + 0x30ac]
mov eax, dword [esi + 0x30a8]
mov ecx, dword [esp + 0x34]
push edx
push eax
lea edx, [esp + 0x2c]
push ecx
push edx
call fcn.00911f42
mov eax, dword [esp + 0xb4]
mov ebx, dword [ebp]
add esp, 0x24
mov ecx, dword [eax]
mov eax, dword [esi + 0x9c8]
imul eax, dword [esi + 0x744]
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esi + 0x5b4]
sar edx, 1
sub eax, edx
mov edx, dword [esp + 0x10]
sub eax, 3
mov edi, dword [edx - 8]
push edi
push edx
push ecx
push eax
mov ecx, ebp
call dword [ebx + 0x64]
mov al, byte [esi + 0x51c]
test al, al
je 0x52d3cd
fld qword [esi + 0x30a8]
fmul qword [esi + 0x3040]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.008f5ce0
fld dword [esi + 0x9e4]
fcompp
fnstsw ax
test ah, 0x41
je 0x52d3cd
fld qword [esi + 0x30a8]
fmul qword [esi + 0x3040]
mov ecx, dword [esi + 0x748]
lea edx, [esp + 0x20]
fld st(0)
fadd qword [esi + 0x2098]
fstp qword [esi + 0x2098]
fadd qword [esi + 0x20a8]
fstp qword [esi + 0x20a8]
mov eax, dword [0xa8e738]
push eax
push ecx
push 0x25
push 0xa771b0
push edx
call fcn.00911f42
fld qword [esi + 0x30a8]
fmul qword [esi + 0x3040]
mov eax, dword [esp + 0x34]
add esp, 0xc
lea ecx, [esp + 0x18]
fstp qword [esp]
push eax
push ecx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov edx, dword [esp + 0xa0]
imul eax, dword [esi + 0x748]
mov ecx, dword [edx]
mov ebx, dword [ebp]
cdq
sub eax, edx
add esp, 0x10
mov edx, eax
mov eax, dword [esi + 0x5b8]
sar edx, 1
sub eax, edx
mov edx, dword [esp + 0x10]
sub eax, 3
mov edi, dword [edx - 8]
push edi
push edx
push ecx
push eax
mov ecx, ebp
call dword [ebx + 0x64]
mov al, byte [esi + 0x51d]
test al, al
je 0x52d4a1
mov eax, dword [esi + 0x30e4]
mov ecx, dword [esi + 0x30e0]
push eax
push ecx
mov ecx, esi
call fcn.008f5ce0
fld dword [esi + 0x9e4]
fcompp
fnstsw ax
test ah, 0x41
je 0x52d4a1
fld qword [esi + 0x30e0]
fadd qword [esi + 0x20a0]
mov eax, dword [esi + 0x74c]
lea ecx, [esp + 0x20]
fstp qword [esi + 0x20a0]
fld qword [esi + 0x30e0]
fadd qword [esi + 0x20b0]
fstp qword [esi + 0x20b0]
mov edx, dword [0xa8e738]
push edx
push eax
push 0x25
push 0xa771b0
push ecx
call fcn.00911f42
mov edx, dword [esi + 0x30e4]
mov eax, dword [esi + 0x30e0]
mov ecx, dword [esp + 0x34]
push edx
push eax
lea edx, [esp + 0x2c]
push ecx
push edx
call fcn.00911f42
mov eax, dword [esp + 0xb4]
mov ebx, dword [ebp]
add esp, 0x24
mov ecx, dword [eax]
mov eax, dword [esi + 0x9c8]
imul eax, dword [esi + 0x74c]
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esi + 0x5bc]
sar edx, 1
sub eax, edx
mov edx, dword [esp + 0x10]
sub eax, 3
mov edi, dword [edx - 8]
push edi
push edx
push ecx
push eax
mov ecx, ebp
call dword [ebx + 0x64]
mov al, byte [esi + 0x518]
test al, al
je 0x52e446
lea eax, [esi + 0x2fd8]
lea ecx, [esp + 0x10]
push eax
call fcn.00911f06
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x18]
call fcn.00911f3c
lea edx, [esp + 0x34]
push 1
push edx
lea ecx, [esp + 0x1c]
call fcn.00912044
mov eax, dword [eax]
mov edi, 0xa77114
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d50c
test cl, cl
je 0x52d508
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d50c
add eax, 2
add edi, 2
test cl, cl
jne 0x52d4e4
xor eax, eax
jmp 0x52d511
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x34]
sete bl
call fcn.00911ee2
test bl, bl
je 0x52d55d
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x34]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0091218e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 0xf
call fcn.00911f3c
lea ecx, [esp + 0x34]
mov byte [esp + 0x80], 8
call fcn.00911ee2
mov edi, dword [esp + 0x14]
mov ecx, dword [esi + 0x738]
mov eax, dword [edi - 8]
cmp eax, ecx
jge 0x52d5b8
mov eax, dword [esi + 0x9c8]
mov edx, dword [esp + 0x90]
imul eax, ecx
mov edi, dword [edx]
mov ebx, dword [esi + 0x97c]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esi + ebx*4 + 0x484]
sar ecx, 1
sub eax, ecx
mov ecx, dword [esp + 0x10]
mov ebx, dword [ebp]
mov edx, dword [ecx - 8]
push edx
push ecx
push edi
push eax
mov ecx, ebp
call dword [ebx + 0x64]
mov edx, dword [esp + 0x90]
mov eax, dword [edx]
push eax
jmp 0x52dbb2
lea ebx, [ecx - 1]
cmp eax, ebx
jl 0x52db01
xor ebp, ebp
xor edx, edx
test ebx, ebx
jle 0x52d5e2
mov al, byte [edx + edi]
test al, al
jl 0x52d5dc
movsx eax, al
cmp eax, 0xff
jle 0x52d5dd
inc ebp
inc edx
cmp edx, ebx
jl 0x52d5cb
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
shl eax, 1
cmp ebp, eax
jne 0x52d61e
lea ecx, [esp + 0x34]
push ebx
push ecx
lea ecx, [esp + 0x1c]
call fcn.00912044
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 0x10
call fcn.00911f3c
mov byte [esp + 0x80], 8
lea ecx, [esp + 0x34]
jmp 0x52d64e
add ecx, 0xfffffffe
lea edx, [esp + 0x38]
push ecx
push edx
lea ecx, [esp + 0x1c]
call fcn.00912044
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 0x11
call fcn.00911f3c
mov byte [esp + 0x80], 8
lea ecx, [esp + 0x38]
call fcn.00911ee2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax - 8]
mov edx, dword [ecx - 8]
sub eax, edx
lea edx, [esp + 0x3c]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.0091218e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 0x12
call fcn.00911f3c
lea ecx, [esp + 0x3c]
mov byte [esp + 0x80], 8
call fcn.00911ee2
lea eax, [esp + 0x40]
push 1
push eax
lea ecx, [esp + 0x20]
call fcn.00912044
mov eax, dword [eax]
mov edi, 0xa77114
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d6d4
test cl, cl
je 0x52d6d0
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d6d4
add eax, 2
add edi, 2
test cl, cl
jne 0x52d6ac
xor eax, eax
jmp 0x52d6d9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x40]
sete bl
call fcn.00911ee2
test bl, bl
je 0x52d725
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x44]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.0091218e
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 0x13
call fcn.00911f3c
lea ecx, [esp + 0x44]
mov byte [esp + 0x80], 8
call fcn.00911ee2
lea edx, [esp + 0x48]
push 1
push edx
lea ecx, [esp + 0x1c]
call fcn.00912044
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x84], 0x14
call fcn.00911f3c
lea ecx, [esp + 0x48]
mov byte [esp + 0x80], 8
call fcn.00911ee2
mov ebp, dword [esp + 0x28]
mov edi, 0xa774f8
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d78b
test cl, cl
je 0x52d787
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d78b
add eax, 2
add edi, 2
test cl, cl
jne 0x52d763
xor eax, eax
jmp 0x52d790
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52d9c9
mov edi, 0xa79df4
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d7c7
test cl, cl
je 0x52d7c3
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d7c7
add eax, 2
add edi, 2
test cl, cl
jne 0x52d79f
xor eax, eax
jmp 0x52d7cc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52d9c9
mov edi, 0xa7ae84
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d803
test cl, cl
je 0x52d7ff
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d803
add eax, 2
add edi, 2
test cl, cl
jne 0x52d7db
xor eax, eax
jmp 0x52d808
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52d9c9
mov edi, 0xa76de0
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d83f
test cl, cl
je 0x52d83b
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d83f
add eax, 2
add edi, 2
test cl, cl
jne 0x52d817
xor eax, eax
jmp 0x52d844
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52d9c9
mov edi, 0xa7af74
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d87b
test cl, cl
je 0x52d877
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d87b
add eax, 2
add edi, 2
test cl, cl
jne 0x52d853
xor eax, eax
jmp 0x52d880
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52d9c9
mov edi, 0xa77e60
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d8b7
test cl, cl
je 0x52d8b3
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d8b7
add eax, 2
add edi, 2
test cl, cl
jne 0x52d88f
xor eax, eax
jmp 0x52d8bc
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52d9c9
mov edi, 0xa7af70
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d8f3
test cl, cl
je 0x52d8ef
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d8f3
add eax, 2
add edi, 2
test cl, cl
jne 0x52d8cb
xor eax, eax
jmp 0x52d8f8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52d9c9
push 1
push 0x22
lea ecx, [esp + 0x38]
call fcn.009123d4
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x28]
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d93d
test cl, cl
je 0x52d939
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d93d
add eax, 2
add edi, 2
test cl, cl
jne 0x52d915
xor eax, eax
jmp 0x52d942
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x30]
sete bl
call fcn.00911ee2
test bl, bl
jne 0x52d9c9
mov eax, dword [esp + 0x28]
mov edi, 0xa77114
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52d985
test cl, cl
je 0x52d981
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52d985
add eax, 2
add edi, 2
test cl, cl
jne 0x52d95d
xor eax, eax
jmp 0x52d98a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x52da3a
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x4c]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0091218e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 0x17
call fcn.00911f3c
mov byte [esp + 0x80], 8
lea ecx, [esp + 0x4c]
jmp 0x52da35
lea edx, [esp + 0x28]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x54]
push eax
push ecx
call fcn.009121d6
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 0x15
call fcn.00911f3c
lea ecx, [esp + 0x50]
mov byte [esp + 0x80], 8
call fcn.00911ee2
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
mov eax, dword [edx - 8]
dec eax
push eax
lea eax, [esp + 0x58]
push eax
call fcn.0091218e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 0x16
call fcn.00911f3c
mov byte [esp + 0x80], 8
lea ecx, [esp + 0x54]
call fcn.00911ee2
mov eax, dword [esi + 0x9c8]
mov edi, dword [esi + 0x97c]
imul eax, dword [esi + 0x738]
cdq
sub eax, edx
mov ebx, dword [esp + 0x90]
mov edx, eax
mov eax, dword [esi + edi*4 + 0x484]
mov ebp, dword [esp + 0x88]
mov ecx, dword [ebx]
sar edx, 1
sub eax, edx
mov edx, dword [esp + 0x18]
mov ebp, dword [ebp]
mov edi, dword [edx - 8]
push edi
mov edi, dword [esp + 0x8c]
push edx
push ecx
push eax
mov ecx, edi
call dword [ebp + 0x64]
mov eax, dword [ebx]
mov ecx, esi
push eax
push edi
call fcn.00460e30
mov ecx, dword [0xa8e750]
mov ebp, dword [esp + 0x98]
mov edx, dword [ebx]
mov eax, dword [esp + 0x9c]
add ecx, ebp
push 1
sub edx, ecx
mov ecx, esi
mov dword [ebx], edx
mov edx, dword [esp + 0x98]
push edx
push ebp
push eax
push ebx
push edi
call fcn.0052e500
test al, al
je 0x52dae9
mov ecx, dword [ebx]
push ecx
push edi
mov ecx, esi
call fcn.00460e30
mov eax, ebp
cdq
sub eax, edx
mov edx, dword [0xa8e750]
sar eax, 1
neg edx
sub edx, eax
mov eax, dword [ebx]
add eax, edx
mov dword [ebx], eax
mov edi, dword [esp + 0x14]
mov ecx, dword [esi + 0x738]
mov eax, dword [edi - 8]
lea ebx, [ecx - 1]
cmp eax, ebx
jge 0x52d5c3
mov ebx, dword [edi - 8]
test ebx, ebx
jl 0x52dbba
mov eax, dword [esp + 0x90]
mov ebp, dword [esi + 0x97c]
push ebx
push edi
mov ecx, dword [eax]
mov eax, dword [esi + 0x9c8]
imul eax, dword [esi + 0x738]
cdq
sub eax, edx
push ecx
mov edx, eax
mov eax, dword [esi + ebp*4 + 0x484]
mov ebp, dword [esp + 0x94]
sar edx, 1
sub eax, edx
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x64]
mov edi, dword [esp + 0x90]
mov ecx, esi
mov eax, dword [edi]
push eax
push ebp
call fcn.00460e30
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
push 1
push ecx
push ebx
push edx
push edi
push ebp
mov ecx, esi
call fcn.0052e500
test al, al
je 0x52dba6
mov eax, dword [edi]
mov ecx, esi
push eax
push ebp
call fcn.00460e30
mov ecx, dword [0xa8e750]
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
neg ecx
sub ecx, eax
mov eax, dword [edi]
add eax, ecx
mov dword [edi], eax
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [edi]
sar eax, 1
sub edx, eax
push edx
push ebp
mov ecx, esi
call fcn.00460e30
lea ecx, [esp + 0x24]
call fcn.00911f0c
mov eax, dword [esp + 0x8c]
xor ebx, ebx
mov byte [esp + 0x80], 0x18
lea edi, [eax + 1]
mov eax, dword [esi + 0x8e8]
cmp edi, eax
mov dword [esp + 0x6c], edi
mov dword [esp + 0x34], edi
jge 0x52e429
inc edi
mov dword [esp + 0x8c], edi
jmp 0x52dc02
mov edi, dword [esp + 0x8c]
mov ebx, dword [esp + 0x54]
push edi
mov ecx, esi
call fcn.00441b00
cmp word [esi + 0x2fb8], 1
jne 0x52e429
push edi
mov ecx, esi
call fcn.00441ca0
lea edi, [esi + 0x12878]
inc ebx
push edi
push ebx
lea ecx, [esp + 0x18]
push str._d._s
push ecx
mov dword [esp + 0x64], ebx
call fcn.00911f42
add esp, 0x10
lea ecx, [esp + 0x10]
push edi
call fcn.00911f06
lea edx, [esp + 0x10]
lea ecx, [esp + 0x14]
push edx
call fcn.00911f3c
lea eax, [esp + 0x50]
push 1
push eax
lea ecx, [esp + 0x1c]
call fcn.00912044
mov eax, dword [eax]
mov edi, 0xa77114
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52dc96
test cl, cl
je 0x52dc92
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52dc96
add eax, 2
add edi, 2
test cl, cl
jne 0x52dc6e
xor eax, eax
jmp 0x52dc9b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x50]
sete bl
call fcn.00911ee2
test bl, bl
je 0x52dce7
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x4c]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0091218e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 0x19
call fcn.00911f3c
lea ecx, [esp + 0x4c]
mov byte [esp + 0x80], 0x18
call fcn.00911ee2
mov edx, dword [0xa8e750]
mov eax, dword [esp + 0x98]
add edx, eax
mov eax, dword [esp + 0x90]
mov ecx, dword [eax]
sub ecx, edx
mov dword [eax], ecx
mov edi, dword [esi + 0x738]
mov ebp, ecx
mov ecx, dword [esp + 0x14]
mov ebx, dword [ecx - 8]
cmp ebx, edi
jge 0x52de09
mov eax, dword [esi + 0x9c8]
mov edx, dword [esi + 0x97c]
imul eax, edi
mov dword [esp + 0x48], edx
push ebx
cdq
sub eax, edx
push ecx
mov edx, eax
mov eax, dword [esp + 0x50]
sar edx, 1
mov eax, dword [esi + eax*4 + 0x484]
push ebp
sub eax, edx
mov edx, dword [esp + 0x94]
push eax
mov ecx, edx
mov edi, dword [edx]
call dword [edi + 0x64]
mov ebx, dword [esp + 0x98]
mov ebp, dword [esp + 0x90]
mov eax, ebx
mov ecx, dword [ebp]
cdq
sub eax, edx
mov edx, dword [esp + 0x88]
mov edi, eax
sar edi, 1
sub ecx, edi
push ecx
push edx
mov ecx, esi
call fcn.00460e30
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov edx, dword [esp + 0x88]
push 1
push eax
push ebx
push ecx
push ebp
push edx
mov ecx, esi
call fcn.0052e500
test al, al
je 0x52e403
mov eax, dword [esp + 0x8c]
mov ecx, esi
inc eax
push eax
call fcn.00441b00
cmp word [esi + 0x2fb8], 1
jne 0x52ddeb
mov edx, dword [esp + 0x88]
mov ebx, ebp
mov ecx, dword [ebx]
push ecx
push edx
mov ecx, esi
call fcn.00460e30
mov ecx, dword [0xa8e750]
mov eax, dword [ebx]
sub edi, ecx
add eax, edi
mov dword [ebx], eax
jmp 0x52e403
mov eax, dword [0xa8e750]
mov edx, dword [esp + 0x98]
add edi, eax
mov eax, dword [esp + 0x90]
add edi, edx
add dword [eax], edi
jmp 0x52e403
lea ebp, [edi - 1]
cmp ebx, ebp
jl 0x52e352
xor ebx, ebx
xor edx, edx
test ebp, ebp
jle 0x52de33
mov al, byte [edx + ecx]
test al, al
jl 0x52de2d
movsx eax, al
cmp eax, 0xff
jle 0x52de2e
inc ebx
inc edx
cmp edx, ebp
jl 0x52de1c
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
shl eax, 1
cmp ebx, eax
jne 0x52de6f
lea ecx, [esp + 0x44]
push ebp
push ecx
lea ecx, [esp + 0x1c]
call fcn.00912044
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 0x1a
call fcn.00911f3c
mov byte [esp + 0x80], 0x18
lea ecx, [esp + 0x44]
jmp 0x52de9f
add edi, 0xfffffffe
lea edx, [esp + 0x40]
push edi
push edx
lea ecx, [esp + 0x1c]
call fcn.00912044
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 0x1b
call fcn.00911f3c
mov byte [esp + 0x80], 0x18
lea ecx, [esp + 0x40]
call fcn.00911ee2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [eax - 8]
mov edx, dword [ecx - 8]
sub eax, edx
lea edx, [esp + 0x3c]
push eax
push edx
lea ecx, [esp + 0x1c]
call fcn.0091218e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 0x1c
call fcn.00911f3c
lea ecx, [esp + 0x3c]
mov byte [esp + 0x80], 0x18
call fcn.00911ee2
lea eax, [esp + 0x38]
push 1
push eax
lea ecx, [esp + 0x20]
call fcn.00912044
mov eax, dword [eax]
mov edi, 0xa77114
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52df25
test cl, cl
je 0x52df21
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52df25
add eax, 2
add edi, 2
test cl, cl
jne 0x52defd
xor eax, eax
jmp 0x52df2a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x38]
sete bl
call fcn.00911ee2
test bl, bl
je 0x52df76
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x58]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.0091218e
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 0x1d
call fcn.00911f3c
lea ecx, [esp + 0x58]
mov byte [esp + 0x80], 0x18
call fcn.00911ee2
lea edx, [esp + 0x5c]
push 1
push edx
lea ecx, [esp + 0x1c]
call fcn.00912044
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x84], 0x1e
call fcn.00911f3c
lea ecx, [esp + 0x5c]
mov byte [esp + 0x80], 0x18
call fcn.00911ee2
mov ebp, dword [esp + 0x24]
mov edi, 0xa774f8
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52dfdc
test cl, cl
je 0x52dfd8
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52dfdc
add eax, 2
add edi, 2
test cl, cl
jne 0x52dfb4
xor eax, eax
jmp 0x52dfe1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52e21a
mov edi, 0xa79df4
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52e018
test cl, cl
je 0x52e014
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52e018
add eax, 2
add edi, 2
test cl, cl
jne 0x52dff0
xor eax, eax
jmp 0x52e01d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52e21a
mov edi, 0xa7ae84
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52e054
test cl, cl
je 0x52e050
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52e054
add eax, 2
add edi, 2
test cl, cl
jne 0x52e02c
xor eax, eax
jmp 0x52e059
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52e21a
mov edi, 0xa76de0
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52e090
test cl, cl
je 0x52e08c
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52e090
add eax, 2
add edi, 2
test cl, cl
jne 0x52e068
xor eax, eax
jmp 0x52e095
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52e21a
mov edi, 0xa7af74
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52e0cc
test cl, cl
je 0x52e0c8
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52e0cc
add eax, 2
add edi, 2
test cl, cl
jne 0x52e0a4
xor eax, eax
jmp 0x52e0d1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52e21a
mov edi, 0xa77e60
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52e108
test cl, cl
je 0x52e104
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52e108
add eax, 2
add edi, 2
test cl, cl
jne 0x52e0e0
xor eax, eax
jmp 0x52e10d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52e21a
mov edi, 0xa7af70
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52e144
test cl, cl
je 0x52e140
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52e144
add eax, 2
add edi, 2
test cl, cl
jne 0x52e11c
xor eax, eax
jmp 0x52e149
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x52e21a
push 1
push 0x22
lea ecx, [esp + 0x38]
call fcn.009123d4
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52e18e
test cl, cl
je 0x52e18a
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52e18e
add eax, 2
add edi, 2
test cl, cl
jne 0x52e166
xor eax, eax
jmp 0x52e193
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
lea ecx, [esp + 0x30]
sete bl
call fcn.00911ee2
test bl, bl
jne 0x52e21a
mov eax, dword [esp + 0x24]
mov edi, 0xa77114
mov dl, byte [eax]
mov bl, byte [edi]
mov cl, dl
cmp dl, bl
jne 0x52e1d6
test cl, cl
je 0x52e1d2
mov dl, byte [eax + 1]
mov bl, byte [edi + 1]
mov cl, dl
cmp dl, bl
jne 0x52e1d6
add eax, 2
add edi, 2
test cl, cl
jne 0x52e1ae
xor eax, eax
jmp 0x52e1db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x52e28b
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x60]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x1c]
call fcn.0091218e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 0x21
call fcn.00911f3c
mov byte [esp + 0x80], 0x18
lea ecx, [esp + 0x60]
jmp 0x52e286
lea edx, [esp + 0x24]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x68]
push eax
push ecx
call fcn.009121d6
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x84], 0x1f
call fcn.00911f3c
lea ecx, [esp + 0x64]
mov byte [esp + 0x80], 0x18
call fcn.00911ee2
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x14]
mov eax, dword [edx - 8]
dec eax
push eax
lea eax, [esp + 0x6c]
push eax
call fcn.0091218e
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x84], 0x20
call fcn.00911f3c
mov byte [esp + 0x80], 0x18
lea ecx, [esp + 0x68]
call fcn.00911ee2
mov eax, dword [esi + 0x9c8]
mov edi, dword [esi + 0x97c]
imul eax, dword [esi + 0x738]
cdq
sub eax, edx
mov ebx, dword [esp + 0x90]
mov edx, eax
mov eax, dword [esi + edi*4 + 0x484]
mov ebp, dword [esp + 0x88]
mov ecx, dword [ebx]
sar edx, 1
sub eax, edx
mov edx, dword [esp + 0x18]
mov ebp, dword [ebp]
mov edi, dword [edx - 8]
push edi
mov edi, dword [esp + 0x8c]
push edx
push ecx
push eax
mov ecx, edi
call dword [ebp + 0x64]
mov eax, dword [ebx]
mov ecx, esi
push eax
push edi
call fcn.00460e30
mov ecx, dword [esp + 0x94]
mov ebp, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
push 1
push ecx
push ebp
push edx
push ebx
push edi
mov ecx, esi
call fcn.0052e500
test al, al
je 0x52e32c
mov eax, dword [ebx]
mov ecx, esi
push eax
push edi
call fcn.00460e30
mov ecx, dword [0xa8e750]
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
neg ecx
sub ecx, eax
mov eax, dword [ebx]
add eax, ecx
jmp 0x52e338
mov edx, dword [0xa8e750]
mov eax, dword [ebx]
add edx, ebp
sub eax, edx
mov ecx, dword [esp + 0x14]
mov dword [ebx], eax
mov edi, dword [esi + 0x738]
mov eax, dword [ecx - 8]
lea ebp, [edi - 1]
cmp eax, ebp
jge 0x52de14
mov ebp, dword [ecx - 8]
test ebp, ebp
jl 0x52e403
mov eax, dword [esi + 0x9c8]
mov ebx, dword [esi + 0x97c]
imul eax, dword [esi + 0x738]
mov edi, dword [esp + 0x90]
push ebp
cdq
sub eax, edx
push ecx
mov ecx, dword [edi]
mov edx, eax
mov eax, dword [esi + ebx*4 + 0x484]
mov ebx, dword [esp + 0x90]
sar edx, 1
sub eax, edx
mov edx, dword [ebx]
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov eax, dword [edi]
mov ecx, esi
push eax
push ebx
call fcn.00460e30
mov ecx, dword [esp + 0x94]
mov ebp, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
push 1
push ecx
push ebp
push edx
push edi
push ebx
mov ecx, esi
call fcn.0052e500
test al, al
je 0x52e3ef
mov eax, dword [edi]
mov ecx, esi
push eax
push ebx
call fcn.00460e30
mov ecx, dword [0xa8e750]
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
neg ecx
sub ecx, eax
mov eax, dword [edi]
add eax, ecx
mov dword [edi], eax
mov eax, ebp
mov ecx, esi
cdq
sub eax, edx
mov edx, dword [edi]
sar eax, 1
sub edx, eax
push edx
push ebx
call fcn.00460e30
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x8c]
mov ecx, dword [esi + 0x8e8]
inc eax
inc edx
cmp eax, ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x8c], edx
jl 0x52dbf7
mov eax, dword [esp + 0x6c]
mov ecx, esi
push eax
call fcn.00441b00
lea ecx, [esp + 0x24]
mov byte [esp + 0x80], 8
call fcn.00911ee2
lea ecx, [esp + 0x28]
mov byte [esp + 0x80], 7
call fcn.00911ee2
lea ecx, [esp + 0x1c]
mov byte [esp + 0x80], 6
call fcn.00911ee2
lea ecx, [esp + 0x14]
mov byte [esp + 0x80], 5
call fcn.00911ee2
lea ecx, [esp + 0x20]
mov byte [esp + 0x80], 4
call fcn.00911ee2
lea ecx, [esp + 0x70]
mov byte [esp + 0x80], 3
call fcn.00911ee2
lea ecx, [esp + 0x74]
mov byte [esp + 0x80], 2
call fcn.00911ee2
lea ecx, [esp + 0x2c]
mov byte [esp + 0x80], 1
call fcn.00911ee2
lea ecx, [esp + 0x18]
mov byte [esp + 0x80], 0
call fcn.00911ee2
lea ecx, [esp + 0x10]
mov dword [esp + 0x80], 0xffffffff
call fcn.00911ee2
mov ecx, dword [esp + 0x78]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x74
ret 0x18