Function at 0x46ccc0
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x694962
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x3a4
mov eax, dword [0x6ce36c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
mov dword [ebp - 0x23c], ecx
push 0x69d8f9
mov eax, dword [ebp - 0x23c]
add eax, 0x1c
push eax
call fcn.004bbe50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x46cd13
jmp 0x4713e0
mov edx, dword [ebp - 0x23c]
add edx, 0x38
push edx
mov eax, dword [ebp - 0x23c]
add eax, 0x1c
push eax
call fcn.004bc030
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x46cd41
mov ecx, dword [ebp - 0x23c]
call fcn.00471690
mov eax, dword [0x6f4530]
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0x240], eax
fild dword [ebp - 0x240]
fmul qword [ebp + 0xc]
fstp qword [ebp + 0xc]
mov eax, dword [0x6f4530]
cdq
mov ecx, 0x64
idiv ecx
mov dword [ebp - 0x244], eax
fild dword [ebp - 0x244]
fmul qword [ebp + 0x14]
fstp qword [ebp + 0x14]
mov edx, dword [0x6fa8c0]
and edx, 1
jne 0x46cdbc
mov eax, dword [0x6fa8c0]
or eax, 1
mov dword [0x6fa8c0], eax
mov dword [ebp - 4], 0
mov ecx, 0x6fa8b0
call fcn.0049ef20
push 0x698020
call fcn.004ccfbd
add esp, 4
mov dword [ebp - 4], 0xffffffff
movzx ecx, byte [0x6ce2c0]
test ecx, ecx
je 0x46cf2e
mov byte [0x6ce2c0], 0
push 0x50
mov ecx, 0x6f4390
call fcn.0049e7a0
push 0x50
mov ecx, 0x6f43b0
call fcn.0049e7a0
push 0x50
mov ecx, 0x6f43a0
call fcn.0049e7a0
push 0x50
mov ecx, 0x6f43c0
call fcn.0049e7a0
push 0xc
mov ecx, 0x6f3b00
call fcn.0044db00
push eax
mov ecx, 0x6fa8b0
call fcn.0049e7a0
mov dword [ebp - 0x80], 0
jmp 0x46ce2b
mov edx, dword [ebp - 0x80]
add edx, 1
mov dword [ebp - 0x80], edx
push 0xc
mov ecx, 0x6f3b00
call fcn.0044db00
cmp dword [ebp - 0x80], eax
jge 0x46cf2e
push 0
push 2
mov eax, dword [ebp - 0x80]
push eax
push 0xc
mov ecx, 0x6f3b00
call fcn.0044c060
test eax, eax
jge 0x46ce64
mov dword [ebp - 0x248], 0
jmp 0x46ce7e
push 0
push 2
mov ecx, dword [ebp - 0x80]
push ecx
push 0xc
mov ecx, 0x6f3b00
call fcn.0044c060
mov dword [ebp - 0x248], eax
push 0
push 1
mov edx, dword [ebp - 0x80]
push edx
push 0xc
mov ecx, 0x6f3b00
call fcn.0044c060
test eax, eax
jge 0x46cea2
mov dword [ebp - 0x24c], 0
jmp 0x46cebc
push 0
push 1
mov eax, dword [ebp - 0x80]
push eax
push 0xc
mov ecx, 0x6f3b00
call fcn.0044c060
mov dword [ebp - 0x24c], eax
push 0
push 0
mov ecx, dword [ebp - 0x80]
push ecx
push 0xc
mov ecx, 0x6f3b00
call fcn.0044c060
test eax, eax
jge 0x46cee0
mov dword [ebp - 0x250], 0
jmp 0x46cefa
push 0
push 0
mov edx, dword [ebp - 0x80]
push edx
push 0xc
mov ecx, 0x6f3b00
call fcn.0044c060
mov dword [ebp - 0x250], eax
mov eax, dword [ebp - 0x248]
push eax
mov ecx, dword [ebp - 0x24c]
push ecx
mov edx, dword [ebp - 0x250]
push edx
call fcn.004eb060
add esp, 0xc
mov esi, eax
mov eax, dword [ebp - 0x80]
push eax
mov ecx, 0x6fa8b0
call fcn.0049e800
mov dword [eax], esi
jmp 0x46ce22
mov dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x68], 0
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd70
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x64]
call fcn.0049ca30
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.0049ca30
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x70], 0
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0xdc], 0
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x78], 0
mov edx, dword [0x6f544c]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.004718a0
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x74], eax
push 0xffffffffffffffff
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x78]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.00471670
push eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x74]
push edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xdc]
push ecx
mov ecx, 0x6f4390
call fcn.00471400
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x5c], 0
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x60], 0
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x64], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x38], 0
mov edx, dword [0x6f44ec]
mov dword [ebp - 0x34], edx
mov eax, dword [0x6f578c]
movsx ecx, byte [eax]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x23c]
movzx eax, byte [edx + 0xe0]
test eax, eax
je 0x46d04a
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x48], 0xfff0bdc0
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0xf8], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 0x65], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x40], 0
mov edx, dword [0x6ce228]
shl edx, 1
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x100], edx
cmp dword [0x6f4530], 0xc8
jne 0x46d0be
mov ecx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x100], eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd90
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x68], eax
jge 0x4713c5
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x3c]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
add edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x68], edx
mov ecx, dword [ebp - 0x30]
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x3c], eax
movzx edx, byte [ebp + 8]
test edx, edx
je 0x46d17b
movzx eax, byte [ebp - 0x65]
test eax, eax
je 0x46d17b
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x68]
mov edx, dword [ebp - 0x23c]
fisub dword [edx + 0xf8]
mov eax, dword [ebp - 0x23c]
fcomp qword [eax + 0x88]
fnstsw ax
test ah, 0x41
jne 0x46d17b
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x68]
mov edx, dword [ebp - 0x23c]
fisub dword [edx + 0xf8]
mov eax, dword [ebp - 0x23c]
fstp qword [eax + 0x88]
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x46d1b8
movzx edx, byte [ebp - 0x65]
test edx, edx
jne 0x46d1b8
mov eax, dword [ebp - 0x23c]
fld qword [eax + 0x88]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0xf8]
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0x68], eax
jle 0x46d1b8
jmp 0x4713c5
mov eax, dword [ebp - 0x23c]
movzx ecx, byte [eax + 0xe2]
test ecx, ecx
je 0x46d1e5
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xec]
cmp ecx, dword [eax + 0x68]
jge 0x46d1e5
jmp 0x4713c5
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0xe8], 0
jle 0x46d213
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xe4]
sub ecx, 1
mov edx, dword [ebp - 0x23c]
cmp ecx, dword [edx + 0x68]
jge 0x46d213
jmp 0x4713c5
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
sub ecx, dword [ebp - 0x7c]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
lea eax, [ebp - 0x17c]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049ce80
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x254]
mov dword [ebp - 0x258], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x258]
push edx
lea ecx, [ebp - 0x64]
call fcn.0049cb10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x17c]
call fcn.0049caf0
push 0
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
call fcn.0044d480
add esp, 8
test eax, eax
jne 0x4709d3
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 1
jne 0x470643
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
add edx, 1
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x68], edx
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xf8]
add eax, 2
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0xf8], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
sub eax, dword [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 0x7c]
push ecx
lea edx, [ebp - 0x198]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.0049ce80
mov dword [ebp - 0x25c], eax
mov eax, dword [ebp - 0x25c]
mov dword [ebp - 0x260], eax
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x260]
push ecx
lea ecx, [ebp - 0x64]
call fcn.0049cb10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x198]
call fcn.0049caf0
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
cmp edx, 1
jne 0x46d358
push 0x69e284
lea ecx, [ebp - 0x64]
call fcn.0049cb30
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 2
jne 0x46d4ad
push 0xc
mov ecx, 0x6f3b00
call fcn.0044db00
mov esi, eax
sub esi, 1
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx edi, byte [eax]
sub edi, 0xe
shl edi, 6
shl edi, 6
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
add ecx, 1
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx edx, byte [eax]
sub edx, 0xe
shl edx, 6
add edi, edx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd70
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
movzx eax, byte [eax + edx + 2]
lea ecx, [edi + eax - 0xe]
cmp esi, ecx
jge 0x46d3f9
push 0xc
mov ecx, 0x6f3b00
call fcn.0044db00
sub eax, 1
mov dword [ebp - 0x264], eax
jmp 0x46d460
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx esi, byte [eax]
sub esi, 0xe
shl esi, 6
shl esi, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
add edx, 1
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx eax, byte [eax]
sub eax, 0xe
shl eax, 6
add esi, eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd70
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
movzx eax, byte [eax + edx + 2]
lea ecx, [esi + eax - 0xe]
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x264]
mov dword [edx + 0x70], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
add edx, 4
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x68], edx
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf8]
add edx, 4
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0xf8], edx
mov ecx, dword [ebp - 0x3c]
add ecx, 4
mov dword [ebp - 0x3c], ecx
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
cmp edx, 3
jne 0x46d549
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx edx, byte [eax]
sub edx, 0xe
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.004718a0
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x74], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x74]
cmp eax, dword [ebp - 0x74]
jle 0x46d50b
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
add ecx, 2
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x68], ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xf8]
add ecx, 2
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0xf8], ecx
mov eax, dword [ebp - 0x3c]
add eax, 2
mov dword [ebp - 0x3c], eax
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 4
jne 0x46d5d5
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx esi, byte [eax]
sub esi, 0xe
shl esi, 6
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd70
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
movzx eax, byte [eax + edx + 1]
lea ecx, [esi + eax - 0xe]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 3
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x68], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xf8]
add eax, 3
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0xf8], eax
mov edx, dword [ebp - 0x3c]
add edx, 3
mov dword [ebp - 0x3c], edx
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 5
jne 0x46d5f7
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x78], 1
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
cmp edx, 6
jne 0x46d619
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x78], 0
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 7
jne 0x46d685
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movsx ecx, byte [eax]
sub ecx, 0x78
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 1
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x68], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xf8]
add eax, 1
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0xf8], eax
mov edx, dword [ebp - 0x3c]
add edx, 1
mov dword [ebp - 0x3c], edx
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 0x20
jne 0x46d69e
mov byte [ebp - 0x65], 1
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 0xb
jne 0x46d6b7
mov byte [ebp - 0x65], 0
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
cmp edx, 0xc
jne 0x46d7d8
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx esi, byte [eax]
sub esi, 0xe
shl esi, 6
shl esi, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 1
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx ecx, byte [eax]
sub ecx, 0xe
shl ecx, 6
add esi, ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd70
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x68]
movzx edx, byte [eax + ecx + 2]
lea eax, [esi + edx - 0xe]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0xffff
je 0x46d747
cmp dword [ebp - 0x84], 0
jne 0x46d753
mov ecx, dword [0x6f5498]
mov dword [ebp - 0x84], ecx
cmp dword [ebp - 0x84], 1
jge 0x46d768
mov dword [ebp - 0x268], 1
jmp 0x46d774
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x268], edx
mov eax, dword [ebp - 0x268]
mov dword [ebp - 0x84], eax
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x46d79a
fild dword [ebp - 0x84]
mov edx, dword [ebp - 0x23c]
fstp qword [edx + 0x80]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
add ecx, 4
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x68], ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xf8]
add ecx, 4
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0xf8], ecx
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 9
jne 0x46ee41
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x74]
cmp eax, dword [ebp - 0x74]
jle 0x46d806
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0x74], edx
movzx eax, byte [ebp + 8]
test eax, eax
jne 0x46d81d
mov ecx, dword [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.00471a90
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x78]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.00471670
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x74]
imul ecx, dword [eax + 0x100]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
push eax
mov ecx, 0x6f4390
call fcn.00471400
mov byte [ebp - 0xb5], 0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x70]
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x5c]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0xc4], 0
mov ecx, 1
test ecx, ecx
je 0x46dfe8
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.USER32.dll_CharNextA]
sub eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x68]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
sub edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1b4]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049ce80
mov dword [ebp - 0x26c], eax
mov edx, dword [ebp - 0x26c]
mov dword [ebp - 0x270], edx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x270]
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cb10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x1b4]
call fcn.0049caf0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
sub edx, dword [ebp - 0x7c]
add edx, dword [ebp - 0xc4]
mov dword [ebp - 0xc4], edx
push 0x69e280
lea eax, [ebp - 0x64]
push eax
call fcn.004bbe50
add esp, 8
movzx ecx, al
test ecx, ecx
je 0x46d981
jmp 0x46dfe8
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
test edx, edx
jne 0x46d99d
push 0x69e284
lea ecx, [ebp - 0x64]
call fcn.0049cb30
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd90
mov ecx, dword [ebp - 0x7c]
add ecx, 1
cmp eax, ecx
jg 0x46d9b7
jmp 0x46dfe8
movzx edx, byte [ebp + 8]
test edx, edx
je 0x46de50
fld qword [0x6aab58]
fld qword [ebp + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46dbef
fld qword [0x6aab58]
fld qword [ebp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46dbef
cmp dword [0x6f54a8], 0
je 0x46daf5
push 0
push 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + 0x74]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x60]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [edx + 0x74]
add eax, dword [0x6f54a8]
add ecx, eax
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x274], edx
fild dword [ebp - 0x274]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x54]
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x5c]
add eax, dword [0x6f54a8]
push eax
call fcn.005100b0
add esp, 0x1c
push 0
push 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + 0x74]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x70]
push eax
mov ecx, 0x6fa8b0
call fcn.0049e800
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x60]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [edx + 0x74]
add eax, ecx
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x278], edx
fild dword [ebp - 0x278]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x54]
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x5c]
push eax
call fcn.005100b0
add esp, 0x1c
jmp 0x46de50
cmp dword [0x6f54a8], 0
je 0x46dd29
push 0
push 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + 0x74]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
fld qword [ebp + 0x14]
sub esp, 8
fstp qword [esp]
fld qword [ebp + 0xc]
sub esp, 8
fstp qword [esp]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x74]
sub eax, dword [edx + 0x74]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x60]
add edx, eax
mov dword [ebp - 0x27c], edx
fild dword [ebp - 0x27c]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x58]
add edx, eax
add edx, dword [0x6f54a8]
push edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x280], ecx
fild dword [ebp - 0x280]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov edx, dword [ebp - 0x23c]
add esi, dword [edx + 0x54]
mov eax, dword [ebp - 0x23c]
fild dword [eax + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, dword [0x6f54a8]
add eax, esi
push eax
call fcn.00510370
add esp, 0x2c
push 0
push 0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x74]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xdc]
shl ecx, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x78]
shl eax, 5
lea ecx, [ecx + eax + 0x6f4390]
mov edx, dword [ebp - 0x34]
shl edx, 4
add ecx, edx
call fcn.0049e800
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x70]
push edx
mov ecx, 0x6fa8b0
call fcn.0049e800
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
fld qword [ebp + 0x14]
sub esp, 8
fstp qword [esp]
fld qword [ebp + 0xc]
sub esp, 8
fstp qword [esp]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x74]
sub edx, dword [ecx + 0x74]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x60]
add ecx, edx
mov dword [ebp - 0x284], ecx
fild dword [ebp - 0x284]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x58]
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x288], ecx
fild dword [ebp - 0x288]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov edx, dword [ebp - 0x23c]
add esi, dword [edx + 0x54]
mov eax, dword [ebp - 0x23c]
fild dword [eax + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, eax
push esi
call fcn.00510370
add esp, 0x2c
push 0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x74]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xdc]
shl ecx, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x78]
shl eax, 5
lea ecx, [ecx + eax + 0x6f4390]
mov edx, dword [ebp - 0x34]
shl edx, 4
add ecx, edx
call fcn.0049e800
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
sub edx, dword [ebp - 0x7c]
push edx
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
call fcn.0050f3d0
add esp, 0x10
mov ecx, eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x38]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x23c]
mov edx, dword [eax + 0x68]
sub edx, dword [ebp - 0x7c]
mov eax, edx
imul eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x23c]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
jns 0x46df13
mov dword [ebp - 0x28c], 0
jmp 0x46dfcb
push 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + 0x74]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
sub eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
call fcn.0050f3d0
add esp, 0x10
mov ecx, eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x38]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x23c]
mov edx, dword [eax + 0x68]
sub edx, dword [ebp - 0x7c]
mov eax, edx
imul eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x23c]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov dword [ebp - 0x28c], ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x5c]
add ecx, dword [ebp - 0x28c]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x5c], ecx
jmp 0x46d8aa
mov eax, dword [0x6f5764]
movsx ecx, byte [eax]
xor edx, edx
cmp ecx, 0x20
setl dl
dec edx
and edx, 5
add edx, 5
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x74], edx
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x78]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.00471670
push eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x74]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xdc]
push ecx
mov ecx, 0x6f4390
call fcn.00471400
mov edx, dword [ebp - 0x74]
sub edx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x60]
add ecx, edx
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov edx, dword [edx + 0x74]
imul edx, dword [eax + 0x100]
mov eax, edx
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov dword [ebp - 0x290], ecx
fild dword [ebp - 0x290]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x58]
mov dword [ebp - 0xcc], eax
push 0x69d8f9
lea ecx, [ebp - 0xb0]
call fcn.0049cab0
mov byte [ebp - 4], 6
mov dword [ebp - 0x94], 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x88], 0
mov ecx, 1
test ecx, ecx
je 0x46e1f4
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x3c]
push edx
call dword [sym.imp.USER32.dll_CharNextA]
sub eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x68]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
sub edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x1d0]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049ce80
mov dword [ebp - 0x294], eax
mov edx, dword [ebp - 0x294]
mov dword [ebp - 0x298], edx
mov byte [ebp - 4], 7
mov eax, dword [ebp - 0x298]
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cb10
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1d0]
call fcn.0049caf0
push 0x69e27c
lea ecx, [ebp - 0x64]
push ecx
call fcn.004bbe50
add esp, 8
movzx edx, al
test edx, edx
je 0x46e19e
jmp 0x46e1f4
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd90
mov ecx, dword [ebp - 0x7c]
add ecx, 1
cmp eax, ecx
jg 0x46e1b5
jmp 0x46e1f4
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
test edx, edx
jne 0x46e1d1
push 0x69e284
lea ecx, [ebp - 0x64]
call fcn.0049cb30
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0xb0]
call fcn.0049cb50
mov ecx, dword [ebp - 0x94]
add ecx, 1
mov dword [ebp - 0x94], ecx
jmp 0x46e0e2
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x94]
mov dword [ebp - 0x90], ecx
mov dword [ebp - 0x94], 0
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x74]
imul ecx, dword [eax + 0x100]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x88]
sub edx, dword [ebp - 0xc8]
push edx
lea ecx, [ebp - 0xb0]
call fcn.0049cd70
push eax
call fcn.0050f3d0
add esp, 0x10
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x5c]
sub ecx, dword [ebp - 0x8c]
cmp dword [ebp - 0xbc], ecx
jle 0x46e709
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x8c]
add ecx, dword [eax + 0x5c]
mov eax, ecx
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov eax, dword [ebp - 0xd0]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x70], 0xd
movzx eax, byte [ebp + 8]
test eax, eax
je 0x46e704
fld qword [0x6aab58]
fld qword [ebp + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46e4f9
fld qword [0x6aab58]
fld qword [ebp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46e4f9
cmp dword [0x6f54a8], 0
je 0x46e417
push 0
push 0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x74]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xdc]
shl ecx, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x78]
shl eax, 5
lea ecx, [ecx + eax + 0x6f4390]
mov edx, dword [ebp - 0x34]
shl edx, 4
add ecx, edx
call fcn.0049e800
mov eax, dword [eax]
push eax
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
lea ecx, [ebp - 0xb0]
call fcn.0049cd70
push eax
mov ecx, dword [ebp - 0xcc]
add ecx, dword [0x6f54a8]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x29c], edx
fild dword [ebp - 0x29c]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x54]
add edx, dword [ebp - 0x8c]
add eax, dword [0x6f54a8]
add edx, eax
push edx
call fcn.005100b0
add esp, 0x1c
push 0
push 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + 0x74]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x70]
push eax
mov ecx, 0x6fa8b0
call fcn.0049e800
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0049cd70
push eax
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2a0], ecx
fild dword [ebp - 0x2a0]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x54]
add ecx, dword [ebp - 0x8c]
add eax, ecx
push eax
call fcn.005100b0
add esp, 0x1c
jmp 0x46e704
cmp dword [0x6f54a8], 0
je 0x46e607
push 0
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x74]
imul ecx, dword [eax + 0x100]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
lea ecx, [ebp - 0xb0]
call fcn.0049cd70
push eax
fld qword [ebp + 0x14]
sub esp, 8
fstp qword [esp]
fld qword [ebp + 0xc]
sub esp, 8
fstp qword [esp]
mov edx, dword [ebp - 0xcc]
add edx, dword [0x6f54a8]
push edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2a4], ecx
fild dword [ebp - 0x2a4]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
fild dword [ebp - 0x8c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x54]
add ecx, eax
add esi, dword [0x6f54a8]
add ecx, esi
push ecx
call fcn.00510370
add esp, 0x2c
push 0
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x74]
imul ecx, dword [eax + 0x100]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x70]
push eax
mov ecx, 0x6fa8b0
call fcn.0049e800
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0xb0]
call fcn.0049cd70
push eax
fld qword [ebp + 0x14]
sub esp, 8
fstp qword [esp]
fld qword [ebp + 0xc]
sub esp, 8
fstp qword [esp]
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2a8], ecx
fild dword [ebp - 0x2a8]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
fild dword [ebp - 0x8c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x54]
add ecx, esi
add eax, ecx
push eax
call fcn.00510370
add esp, 0x2c
jmp 0x46ed80
mov dword [ebp - 0xf4], 0
mov dword [ebp - 0xf8], 0
lea ecx, [ebp - 0xb0]
call fcn.0049cd70
mov dword [ebp - 0xf0], eax
lea ecx, [ebp - 0xec]
call fcn.0049ca30
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x94]
cmp edx, dword [ebp - 0x90]
jge 0x46ed71
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0xf0]
push ecx
call dword [sym.imp.USER32.dll_CharNextA]
sub eax, dword [ebp - 0xf0]
add eax, dword [ebp - 0xf8]
mov dword [ebp - 0xf8], eax
mov edx, dword [ebp - 0xf0]
push edx
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xf8]
sub eax, dword [ebp - 0xf4]
push eax
mov ecx, dword [ebp - 0xf4]
push ecx
lea edx, [ebp - 0x1ec]
push edx
lea ecx, [ebp - 0xb0]
call fcn.0049ce80
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x2b0], eax
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x2b0]
push ecx
lea ecx, [ebp - 0xec]
call fcn.0049cb10
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x1ec]
call fcn.0049caf0
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x74]
imul ecx, dword [eax + 0x100]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0xf8]
sub edx, dword [ebp - 0xf4]
push edx
lea ecx, [ebp - 0xec]
call fcn.0049cd70
push eax
call fcn.0050f3d0
add esp, 0x10
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x5c]
sub ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x2b4], ecx
fild dword [ebp - 0x2b4]
fild dword [ebp - 0x94]
fidiv dword [ebp - 0x90]
fmulp st(1)
call fcn.004cd0f0
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x100], eax
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x70], 0xd
movzx eax, byte [ebp + 8]
test eax, eax
je 0x46ed5d
fld qword [0x6aab58]
fld qword [ebp + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46eafc
fld qword [0x6aab58]
fld qword [ebp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46eafc
cmp dword [0x6f54a8], 0
je 0x46e9f5
push 0
push 0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x74]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xdc]
shl ecx, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x78]
shl eax, 5
lea ecx, [ecx + eax + 0x6f4390]
mov edx, dword [ebp - 0x34]
shl edx, 4
add ecx, edx
call fcn.0049e800
mov eax, dword [eax]
push eax
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
lea ecx, [ebp - 0xec]
call fcn.0049cd70
push eax
mov ecx, dword [ebp - 0xcc]
add ecx, dword [0x6f54a8]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x2b8], edx
fild dword [ebp - 0x2b8]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, eax
mov edx, dword [ebp - 0x23c]
mov esi, dword [edx + 0x54]
add esi, dword [ebp - 0x100]
mov eax, dword [ebp - 0x23c]
mov eax, dword [eax + 0x5c]
sub eax, dword [ebp - 0x8c]
cdq
idiv dword [ebp - 0x90]
sub eax, dword [ebp - 0xfc]
cdq
sub eax, edx
sar eax, 1
add esi, eax
add ecx, dword [0x6f54a8]
add esi, ecx
push esi
call fcn.005100b0
add esp, 0x1c
push 0
push 0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x74]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xdc]
shl ecx, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x78]
shl eax, 5
lea ecx, [ecx + eax + 0x6f4390]
mov edx, dword [ebp - 0x34]
shl edx, 4
add ecx, edx
call fcn.0049e800
mov eax, dword [eax]
push eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x70]
push edx
mov ecx, 0x6fa8b0
call fcn.0049e800
mov eax, dword [eax]
push eax
lea ecx, [ebp - 0xec]
call fcn.0049cd70
push eax
mov ecx, dword [ebp - 0xcc]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x2bc], edx
fild dword [ebp - 0x2bc]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, eax
mov edx, dword [ebp - 0x23c]
mov esi, dword [edx + 0x54]
add esi, dword [ebp - 0x100]
mov eax, dword [ebp - 0x23c]
mov eax, dword [eax + 0x5c]
sub eax, dword [ebp - 0x8c]
cdq
idiv dword [ebp - 0x90]
sub eax, dword [ebp - 0xfc]
cdq
sub eax, edx
sar eax, 1
add esi, eax
add ecx, esi
push ecx
call fcn.005100b0
add esp, 0x1c
jmp 0x46ed5d
cmp dword [0x6f54a8], 0
je 0x46ec35
push 0
push 0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x74]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xdc]
shl ecx, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x78]
shl eax, 5
lea ecx, [ecx + eax + 0x6f4390]
mov edx, dword [ebp - 0x34]
shl edx, 4
add ecx, edx
call fcn.0049e800
mov eax, dword [eax]
push eax
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
lea ecx, [ebp - 0xec]
call fcn.0049cd70
push eax
fld qword [ebp + 0x14]
sub esp, 8
fstp qword [esp]
fld qword [ebp + 0xc]
sub esp, 8
fstp qword [esp]
mov ecx, dword [ebp - 0xcc]
add ecx, dword [0x6f54a8]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x2c0], edx
fild dword [ebp - 0x2c0]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov eax, dword [ebp - 0x23c]
mov eax, dword [eax + 0x5c]
sub eax, dword [ebp - 0x8c]
cdq
idiv dword [ebp - 0x90]
sub eax, dword [ebp - 0xfc]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x2c4], eax
fild dword [ebp - 0x2c4]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x54]
add edx, eax
add esi, dword [0x6f54a8]
add edx, esi
push edx
call fcn.00510370
add esp, 0x2c
push 0
push 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + 0x74]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x70]
push eax
mov ecx, 0x6fa8b0
call fcn.0049e800
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0xec]
call fcn.0049cd70
push eax
fld qword [ebp + 0x14]
sub esp, 8
fstp qword [esp]
fld qword [ebp + 0xc]
sub esp, 8
fstp qword [esp]
mov edx, dword [ebp - 0xcc]
push edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2c8], ecx
fild dword [ebp - 0x2c8]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x5c]
sub eax, dword [ebp - 0x8c]
cdq
idiv dword [ebp - 0x90]
sub eax, dword [ebp - 0xfc]
cdq
sub eax, edx
sar eax, 1
add eax, dword [ebp - 0x100]
mov dword [ebp - 0x2cc], eax
fild dword [ebp - 0x2cc]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x54]
add edx, esi
add eax, edx
push eax
call fcn.00510370
add esp, 0x2c
mov eax, dword [ebp - 0x94]
add eax, 1
mov dword [ebp - 0x94], eax
jmp 0x46e73d
mov byte [ebp - 4], 6
lea ecx, [ebp - 0xec]
call fcn.0049caf0
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x46edd1
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
sub eax, dword [ebp - 0xc4]
mov dword [ebp - 0x2d0], eax
fild dword [ebp - 0x2d0]
mov ecx, dword [ebp - 0x23c]
fcomp qword [ecx + 0x88]
fnstsw ax
test ah, 0x41
jne 0x46edd1
mov edx, dword [ebp - 0x23c]
fild dword [edx + 0x68]
fisub dword [ebp - 0xc4]
mov eax, dword [ebp - 0x23c]
fstp qword [eax + 0x88]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf8]
sub edx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0xf8], edx
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0xc0]
mov dword [ecx + 0x70], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0xb4]
mov dword [eax + 0x74], ecx
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
movzx eax, byte [ebp + 8]
test eax, eax
jne 0x46ee2d
mov ecx, dword [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.00471a90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0xb0]
call fcn.0049caf0
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
cmp edx, 0xf
jne 0x46eea8
movzx eax, byte [ebp + 8]
test eax, eax
je 0x46eea3
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x68]
cmp eax, dword [edx + 0xec]
jle 0x46eea3
mov ecx, dword [ebp - 0x23c]
movzx edx, byte [ecx + 0xe0]
test edx, edx
jne 0x46eea3
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
mov dword [eax + 0xec], edx
mov eax, dword [ebp - 0x23c]
mov byte [eax + 0xe2], 1
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 0xe
jne 0x46ef04
movzx edx, byte [ebp + 8]
test edx, edx
je 0x46eeff
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [eax + 0x68]
cmp edx, dword [ecx + 0xe4]
jle 0x46eeff
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
add ecx, 1
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0xe4], ecx
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0xe8], 0x10
jmp 0x46d0be
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x46ef2e
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
cmp edx, 0x10
jne 0x46ef2e
mov eax, dword [ebp - 0x23c]
mov byte [eax + 0xe3], 1
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 0x11
jne 0x46f047
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movsx ecx, byte [eax]
sub ecx, 0xe
jns 0x46ef6b
mov dword [ebp - 0x2d4], 0
jmp 0x46ef8c
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movsx ecx, byte [eax]
sub ecx, 0xe
mov dword [ebp - 0x2d4], ecx
cmp dword [ebp - 0x2d4], 3
jle 0x46efa1
mov dword [ebp - 0x2d8], 3
jmp 0x46eff7
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movsx ecx, byte [eax]
sub ecx, 0xe
jns 0x46efca
mov dword [ebp - 0x2dc], 0
jmp 0x46efeb
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movsx ecx, byte [eax]
sub ecx, 0xe
mov dword [ebp - 0x2dc], ecx
mov edx, dword [ebp - 0x2dc]
mov dword [ebp - 0x2d8], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x2d8]
mov dword [eax + 0xdc], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 2
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x68], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xf8]
add eax, 2
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0xf8], eax
mov edx, dword [ebp - 0x3c]
add edx, 2
mov dword [ebp - 0x3c], edx
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 0x12
jne 0x46f0eb
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx esi, byte [eax]
sub esi, 0xe
shl esi, 6
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
add ecx, 1
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx edx, byte [eax]
lea eax, [esi + edx - 0xe]
mov dword [ebp - 0x104], eax
mov ecx, dword [ebp - 0x104]
sub ecx, 0x3e8
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 2
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x68], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xf8]
add eax, 2
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0xf8], eax
mov edx, dword [ebp - 0x3c]
add edx, 2
mov dword [ebp - 0x3c], edx
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 0x13
jne 0x46f107
mov dword [ebp - 0x44], 0
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 0x14
jne 0x46f123
mov dword [ebp - 0x44], 1
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
cmp edx, 0x15
jne 0x46f13f
mov dword [ebp - 0x44], 2
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 0x16
jne 0x46f932
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e7c0
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x64], eax
jl 0x46f1ae
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
add eax, 1
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e7a0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x64]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov dword [eax], 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx esi, byte [eax]
sub esi, 0xe
shl esi, 6
shl esi, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 1
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx ecx, byte [eax]
sub ecx, 0xe
shl ecx, 6
add esi, ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd70
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x68]
movzx edx, byte [eax + ecx + 2]
lea eax, [esi + edx - 0xe]
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
add edx, 3
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0x68], edx
mov ecx, dword [ebp - 0x3c]
add ecx, 3
mov dword [ebp - 0x3c], ecx
cmp dword [ebp - 0x10c], 0x270f
jg 0x46f248
cmp dword [ebp - 0x10c], 0
jge 0x46f24d
jmp 0x46d0be
mov ecx, 0x6f4500
call fcn.0049e7c0
mov dword [ebp - 0x108], eax
mov ecx, 0x6f4500
call fcn.0049e7c0
cmp eax, dword [ebp - 0x10c]
jg 0x46f274
jmp 0x46d0be
mov edx, dword [ebp - 0x10c]
push edx
mov ecx, 0x6f4500
call fcn.0049e800
mov eax, dword [eax]
mov dword [ebp - 0x118], eax
cmp dword [ebp - 0x118], 0
jg 0x46f29b
jmp 0x46d0be
mov ecx, dword [ebp - 0x10c]
push ecx
mov ecx, 0x6f4510
call fcn.0049e800
mov edx, dword [eax]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x10c]
push eax
mov ecx, 0x6f4520
call fcn.0049e800
mov ecx, dword [eax]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x110]
cmp edx, dword [ebp - 0x74]
jle 0x46f2e1
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x74], eax
fld qword [0x6aab58]
fld qword [ebp + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46f59b
fld qword [0x6aab58]
fld qword [ebp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46f59b
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x46f59b
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x54]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x5c]
mov edx, dword [0x6ce244]
mov ecx, dword [ebp - 0x114]
lea edx, [ecx + edx*2]
neg edx
imul edx, dword [0x6ce228]
cmp eax, edx
jle 0x46f59b
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x54]
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0x5c]
mov eax, dword [0x6ce244]
imul eax, eax, 0x14
imul eax, dword [0x6ce228]
cmp ecx, eax
jge 0x46f59b
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x23c]
add edx, dword [eax + 0x60]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x110]
add edx, ecx
mov eax, dword [0x6ce244]
imul eax, eax, 0xf
imul eax, dword [0x6ce228]
cmp edx, eax
jge 0x46f59b
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x23c]
add edx, dword [eax + 0x60]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x110]
add edx, ecx
mov eax, dword [0x6ce244]
mov ecx, dword [ebp - 0x110]
lea eax, [ecx + eax*2]
neg eax
imul eax, dword [0x6ce228]
cmp edx, eax
jle 0x46f59b
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x64]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x2e0], edx
fild dword [ebp - 0x2e0]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov dword [ebp - 0x11c], eax
cmp dword [0x6ce244], 0x10
jne 0x46f457
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x100], 4
jne 0x46f457
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x2e4], ecx
jmp 0x46f461
mov dword [ebp - 0x2e4], 0
mov edx, dword [0x6ce220]
push edx
mov eax, dword [ebp - 0x118]
push eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x23c]
add edx, dword [eax + 0x60]
mov ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x2e4]
add edx, ecx
mov eax, dword [ebp - 0x23c]
add edx, dword [eax + 0xfc]
push edx
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x64]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x2e8], edx
fild dword [ebp - 0x2e8]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, eax
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0x54]
mov eax, dword [ebp - 0x23c]
add ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x114]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
push ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x58]
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0x60]
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x110]
add ecx, eax
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0xfc]
push ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x2ec], ecx
fild dword [ebp - 0x2ec]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x54]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x5c]
push eax
call fcn.00501f00
add esp, 0x18
fld qword [0x6aab58]
fld qword [ebp + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46f5c3
fld qword [0x6aab58]
fld qword [ebp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x46f8ca
movzx edx, byte [ebp + 8]
test edx, edx
je 0x46f8ca
mov eax, dword [ebp - 0x23c]
fild dword [eax + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov esi, eax
mov ecx, dword [ebp - 0x23c]
add esi, dword [ecx + 0x54]
fild dword [ebp - 0x114]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov edx, dword [0x6ce244]
lea eax, [eax + edx*2]
neg eax
imul eax, dword [0x6ce228]
cmp esi, eax
jle 0x46f8ca
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x54]
mov ecx, dword [0x6ce244]
imul ecx, ecx, 0x14
imul ecx, dword [0x6ce228]
cmp eax, ecx
jge 0x46f8ca
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x60]
add eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x110]
mov dword [ebp - 0x2f0], eax
fild dword [ebp - 0x2f0]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x58]
mov edx, dword [0x6ce244]
imul edx, edx, 0xf
imul edx, dword [0x6ce228]
cmp eax, edx
jge 0x46f8ca
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x60]
add ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x110]
mov dword [ebp - 0x2f4], ecx
fild dword [ebp - 0x2f4]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov esi, eax
mov edx, dword [ebp - 0x23c]
add esi, dword [edx + 0x58]
fild dword [ebp - 0x110]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [0x6ce244]
lea edx, [eax + ecx*2]
neg edx
imul edx, dword [0x6ce228]
cmp esi, edx
jle 0x46f8ca
cmp dword [0x6ce244], 0x10
jne 0x46f729
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x100], 4
jne 0x46f70b
mov ecx, dword [ebp - 0x110]
mov dword [ebp - 0x2f8], ecx
jmp 0x46f71b
mov eax, dword [ebp - 0x74]
neg eax
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x2f8], eax
mov edx, dword [ebp - 0x2f8]
mov dword [ebp - 0x2fc], edx
jmp 0x46f733
mov dword [ebp - 0x2fc], 0
mov eax, dword [0x6ce220]
push eax
mov ecx, dword [ebp - 0x118]
push ecx
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x2fc]
imul eax, dword [0x6ce228]
shl eax, 1
mov ecx, dword [ebp - 0x23c]
cdq
idiv dword [ecx + 0x100]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x60]
add ecx, eax
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0xfc]
mov dword [ebp - 0x300], ecx
fild dword [ebp - 0x300]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x58]
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x304], edx
fild dword [ebp - 0x304]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov eax, dword [ebp - 0x23c]
add esi, dword [eax + 0x54]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x114]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x5c]
add ecx, eax
mov dword [ebp - 0x308], ecx
fild dword [ebp - 0x308]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, eax
push esi
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x60]
add eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0xfc]
mov dword [ebp - 0x30c], eax
fild dword [ebp - 0x30c]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x58]
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x310], ecx
fild dword [ebp - 0x310]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov edx, dword [ebp - 0x23c]
add esi, dword [edx + 0x54]
mov eax, dword [ebp - 0x23c]
fild dword [eax + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, eax
push esi
call fcn.00501f00
add esp, 0x18
mov ecx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x114]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x38]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x23c]
add ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x5c], ecx
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
movzx ecx, byte [ebp + 8]
test ecx, ecx
jne 0x46f92d
mov edx, dword [ebp - 0x74]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.00471a90
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 0x17
jne 0x470298
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e7c0
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0x64], eax
jl 0x46f9a1
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
add eax, 1
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e7a0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x64]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov dword [eax], 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
mov dword [ebp - 0x148], ecx
lea ecx, [ebp - 0x138]
call fcn.0049ca30
mov byte [ebp - 4], 0xa
mov edx, 1
test edx, edx
je 0x46fac2
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x3c]
push eax
call dword [sym.imp.USER32.dll_CharNextA]
sub eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x68]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x68], eax
mov eax, dword [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_CharNextA]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
sub edx, dword [ebp - 0x7c]
push edx
mov eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x208]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049ce80
mov dword [ebp - 0x314], eax
mov edx, dword [ebp - 0x314]
mov dword [ebp - 0x318], edx
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x318]
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cb10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x208]
call fcn.0049caf0
push 0x69e27c
lea ecx, [ebp - 0x64]
push ecx
call fcn.004bbe50
add esp, 8
movzx edx, al
test edx, edx
je 0x46fa7b
jmp 0x46fac2
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd90
mov ecx, dword [ebp - 0x7c]
add ecx, 1
cmp eax, ecx
jg 0x46fa92
jmp 0x46fac2
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
test edx, edx
jne 0x46faae
push 0x69e284
lea ecx, [ebp - 0x64]
call fcn.0049cb30
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x138]
call fcn.0049cb50
jmp 0x46f9bf
lea ecx, [ebp - 0x138]
call fcn.0049cdd0
movzx ecx, al
test ecx, ecx
je 0x46fae8
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x138]
call fcn.0049caf0
jmp 0x46d0be
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x20c], esp
lea edx, [ebp - 0x138]
push edx
call fcn.0049ca60
mov dword [ebp - 0x31c], eax
lea eax, [ebp - 0x228]
push eax
call fcn.0040db30
add esp, 0x20
mov dword [ebp - 0x320], eax
mov ecx, dword [ebp - 0x320]
mov dword [ebp - 0x324], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0x324]
push edx
lea ecx, [ebp - 0x138]
call fcn.0049cb10
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0x228]
call fcn.0049caf0
push 0
push 1
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x22c], esp
lea eax, [ebp - 0x138]
push eax
call fcn.0049ca60
mov dword [ebp - 0x328], eax
call fcn.00408290
add esp, 0x28
lea ecx, [ebp - 0x138]
push ecx
mov ecx, 0x6f4b30
call fcn.0049d6c0
mov edx, dword [eax]
mov dword [ebp - 0x140], edx
push 0
mov eax, dword [ebp - 0x140]
push eax
mov ecx, 0x6f437c
call fcn.0049eba0
mov ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
mov dword [ebp - 0x14c], ecx
cmp dword [ebp - 0x14c], 0
jg 0x46fbce
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x138]
call fcn.0049caf0
jmp 0x46d0be
lea edx, [ebp - 0x13c]
push edx
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
call fcn.004eb760
add esp, 0xc
mov edx, dword [ebp - 0x13c]
cmp edx, dword [ebp - 0x74]
jle 0x46fbff
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x74], eax
fld qword [0x6aab58]
fld qword [ebp + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46feb9
fld qword [0x6aab58]
fld qword [ebp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46feb9
movzx ecx, byte [ebp + 8]
test ecx, ecx
je 0x46feb9
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x54]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x5c]
mov edx, dword [0x6ce244]
mov ecx, dword [ebp - 0x144]
lea edx, [ecx + edx*2]
neg edx
imul edx, dword [0x6ce228]
cmp eax, edx
jle 0x46feb9
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x54]
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0x5c]
mov eax, dword [0x6ce244]
imul eax, eax, 0x14
imul eax, dword [0x6ce228]
cmp ecx, eax
jge 0x46feb9
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x23c]
add edx, dword [eax + 0x60]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x13c]
add edx, ecx
mov eax, dword [0x6ce244]
imul eax, eax, 0xf
imul eax, dword [0x6ce228]
cmp edx, eax
jge 0x46feb9
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x23c]
add edx, dword [eax + 0x60]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x13c]
add edx, ecx
mov eax, dword [0x6ce244]
mov ecx, dword [ebp - 0x13c]
lea eax, [ecx + eax*2]
neg eax
imul eax, dword [0x6ce228]
cmp edx, eax
jle 0x46feb9
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x64]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x32c], edx
fild dword [ebp - 0x32c]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov dword [ebp - 0x150], eax
cmp dword [0x6ce244], 0x10
jne 0x46fd75
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x100], 4
jne 0x46fd75
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x330], ecx
jmp 0x46fd7f
mov dword [ebp - 0x330], 0
mov edx, dword [0x6ce220]
push edx
mov eax, dword [ebp - 0x14c]
push eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x58]
mov eax, dword [ebp - 0x23c]
add edx, dword [eax + 0x60]
mov ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x330]
add edx, ecx
mov eax, dword [ebp - 0x23c]
add edx, dword [eax + 0xfc]
push edx
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x64]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x334], edx
fild dword [ebp - 0x334]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, eax
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0x54]
mov eax, dword [ebp - 0x23c]
add ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x144]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
add ecx, eax
push ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x58]
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0x60]
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x13c]
add ecx, eax
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0xfc]
push ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x338], ecx
fild dword [ebp - 0x338]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x54]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x5c]
push eax
call fcn.00501f00
add esp, 0x18
fld qword [0x6aab58]
fld qword [ebp + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x46fee1
fld qword [0x6aab58]
fld qword [ebp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4701e8
movzx edx, byte [ebp + 8]
test edx, edx
je 0x4701e8
mov eax, dword [ebp - 0x23c]
fild dword [eax + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov esi, eax
mov ecx, dword [ebp - 0x23c]
add esi, dword [ecx + 0x54]
fild dword [ebp - 0x144]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov edx, dword [0x6ce244]
lea eax, [eax + edx*2]
neg eax
imul eax, dword [0x6ce228]
cmp esi, eax
jle 0x4701e8
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x54]
mov ecx, dword [0x6ce244]
imul ecx, ecx, 0x14
imul ecx, dword [0x6ce228]
cmp eax, ecx
jge 0x4701e8
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x60]
add eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x13c]
mov dword [ebp - 0x33c], eax
fild dword [ebp - 0x33c]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x58]
mov edx, dword [0x6ce244]
imul edx, edx, 0xf
imul edx, dword [0x6ce228]
cmp eax, edx
jge 0x4701e8
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x60]
add ecx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x340], ecx
fild dword [ebp - 0x340]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov esi, eax
mov edx, dword [ebp - 0x23c]
add esi, dword [edx + 0x58]
fild dword [ebp - 0x13c]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [0x6ce244]
lea edx, [eax + ecx*2]
neg edx
imul edx, dword [0x6ce228]
cmp esi, edx
jle 0x4701e8
cmp dword [0x6ce244], 0x10
jne 0x470047
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0x100], 4
jne 0x470029
mov ecx, dword [ebp - 0x13c]
mov dword [ebp - 0x344], ecx
jmp 0x470039
mov eax, dword [ebp - 0x74]
neg eax
cdq
sub eax, edx
sar eax, 1
mov dword [ebp - 0x344], eax
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x348], edx
jmp 0x470051
mov dword [ebp - 0x348], 0
mov eax, dword [0x6ce220]
push eax
mov ecx, dword [ebp - 0x14c]
push ecx
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x348]
imul eax, dword [0x6ce228]
shl eax, 1
mov ecx, dword [ebp - 0x23c]
cdq
idiv dword [ecx + 0x100]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x60]
add ecx, eax
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0xfc]
mov dword [ebp - 0x34c], ecx
fild dword [ebp - 0x34c]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x58]
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x350], edx
fild dword [ebp - 0x350]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov eax, dword [ebp - 0x23c]
add esi, dword [eax + 0x54]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x144]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x5c]
add ecx, eax
mov dword [ebp - 0x354], ecx
fild dword [ebp - 0x354]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, eax
push esi
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x60]
add eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0xfc]
mov dword [ebp - 0x358], eax
fild dword [ebp - 0x358]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x58]
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x35c], ecx
fild dword [ebp - 0x35c]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov edx, dword [ebp - 0x23c]
add esi, dword [edx + 0x54]
mov eax, dword [ebp - 0x23c]
fild dword [eax + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, eax
push esi
call fcn.00501f00
add esp, 0x18
mov ecx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x144]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x38]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x23c]
add ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x5c], ecx
movzx eax, byte [ebp + 8]
test eax, eax
je 0x470264
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x68]
mov edx, dword [ebp - 0x23c]
fcomp qword [edx + 0x88]
fnstsw ax
test ah, 0x41
jne 0x470264
mov eax, dword [ebp - 0x23c]
fild dword [eax + 0x68]
mov ecx, dword [ebp - 0x23c]
fstp qword [ecx + 0x88]
mov edx, dword [ebp - 0x40]
add edx, 1
mov dword [ebp - 0x40], edx
movzx eax, byte [ebp + 8]
test eax, eax
jne 0x470284
mov ecx, dword [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.00471a90
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x138]
call fcn.0049caf0
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
cmp edx, 0x18
jne 0x470372
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx esi, byte [eax]
sub esi, 0xe
shl esi, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 1
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx ecx, byte [eax]
lea edx, [esi + ecx - 0x3f6]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x154]
imul eax, eax, 0x64
cdq
idiv dword [0x6f4530]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x5c]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x5c], eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
add ecx, 3
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x68], ecx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xf8]
add ecx, 3
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0xf8], ecx
mov eax, dword [ebp - 0x3c]
add eax, 3
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov dword [ebp - 0x40], ecx
movzx edx, byte [ebp + 8]
test edx, edx
jne 0x47036d
mov eax, dword [ebp - 0x74]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.00471a90
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 0x19
jne 0x47044c
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
push eax
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx esi, byte [eax]
sub esi, 0xe
shl esi, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
add edx, 1
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx eax, byte [eax]
lea ecx, [esi + eax - 0x3f6]
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0x158]
imul eax, eax, 0x64
cdq
idiv dword [0x6f4530]
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x60], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 3
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x68], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xf8]
add eax, 3
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0xf8], eax
mov edx, dword [ebp - 0x3c]
add edx, 3
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
movzx ecx, byte [ebp + 8]
test ecx, ecx
jne 0x470447
mov edx, dword [ebp - 0x74]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.00471a90
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 0x1a
jne 0x470468
mov dword [ebp - 0x34], 1
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 0x1b
jne 0x470484
mov dword [ebp - 0x34], 0
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx edx, byte [eax]
cmp edx, 0x1c
jne 0x4704a1
push 0x69e284
lea ecx, [ebp - 0x64]
call fcn.0049cb30
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 0x1d
jne 0x470572
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx esi, byte [eax]
sub esi, 0xe
shl esi, 6
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
add ecx, 1
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx edx, byte [eax]
lea eax, [esi + edx - 0x3f6]
mov dword [ebp - 0x15c], eax
mov eax, dword [ebp - 0x15c]
imul eax, eax, 0x64
cdq
idiv dword [0x6f4530]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x5c], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 3
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x68], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xf8]
add eax, 3
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0xf8], eax
mov edx, dword [ebp - 0x3c]
add edx, 3
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
movzx ecx, byte [ebp + 8]
test ecx, ecx
jne 0x47056d
mov edx, dword [ebp - 0x74]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.00471a90
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 0x1e
jne 0x470643
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x68]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx esi, byte [eax]
sub esi, 0xe
shl esi, 6
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x68]
add ecx, 1
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.0049cd50
movzx edx, byte [eax]
lea eax, [esi + edx - 0x3f6]
mov dword [ebp - 0x160], eax
mov eax, dword [ebp - 0x160]
imul eax, eax, 0x64
cdq
idiv dword [0x6f4530]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x60], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
add eax, 3
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x68], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xf8]
add eax, 3
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0xf8], eax
mov edx, dword [ebp - 0x3c]
add edx, 3
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x40]
add eax, 1
mov dword [ebp - 0x40], eax
movzx ecx, byte [ebp + 8]
test ecx, ecx
jne 0x47063e
mov edx, dword [ebp - 0x74]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.00471a90
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx eax, byte [eax]
cmp eax, 0xa
jne 0x4709be
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x5c], 0
cmp dword [ebp - 0x40], 0
je 0x470691
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x74]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x60]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x60], eax
mov eax, dword [ebp - 0x23c]
movzx ecx, byte [eax + 0xe0]
test ecx, ecx
jne 0x4707bc
mov ecx, dword [ebp - 0x23c]
add ecx, 0xbc
call fcn.0049e7c0
mov edx, dword [ebp - 0x23c]
cmp dword [edx + 0x64], eax
jge 0x4707bc
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xbc
call fcn.0049e800
cmp dword [eax], 0
je 0x4707bc
cmp dword [ebp - 0x48], 0xfff0bdc0
je 0x470757
mov edx, dword [0x6f5764]
movsx eax, byte [edx]
cmp eax, 0x20
jle 0x47070d
mov dword [ebp - 0x360], 0x20
jmp 0x47071c
mov ecx, dword [0x6f5764]
movsx edx, byte [ecx]
mov dword [ebp - 0x360], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x48]
imul ecx, dword [eax + 0x100]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
imul eax, dword [ebp - 0x360]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x60], eax
jmp 0x4707bc
mov edx, dword [0x6f5764]
movsx eax, byte [edx]
cmp eax, 0x20
jle 0x470771
mov dword [ebp - 0x364], 0x20
jmp 0x470780
mov ecx, dword [0x6f5764]
movsx edx, byte [ecx]
mov dword [ebp - 0x364], edx
mov eax, dword [0x6f5790]
movsx eax, byte [eax]
imul eax, dword [ebp - 0x364]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov ecx, dword [ebp - 0x23c]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x60], eax
mov edx, dword [ebp - 0x23c]
movzx eax, byte [edx + 0xe0]
test eax, eax
je 0x4708fe
mov ecx, dword [ebp - 0x23c]
add ecx, 0xbc
call fcn.0049e7c0
mov ecx, dword [ebp - 0x23c]
cmp eax, dword [ecx + 0x64]
jg 0x47080b
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
add eax, 1
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xbc
call fcn.0049e7a0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x64]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xbc
call fcn.0049e800
cmp dword [eax], 0
je 0x4708fe
cmp dword [ebp - 0x48], 0xfff0bdc0
je 0x470899
mov eax, dword [0x6f5764]
movsx ecx, byte [eax]
cmp ecx, 0x20
jle 0x470851
mov dword [ebp - 0x368], 0x20
jmp 0x470860
mov edx, dword [0x6f5764]
movsx eax, byte [edx]
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x48]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
imul eax, dword [ebp - 0x368]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x60], eax
jmp 0x4708fe
mov edx, dword [0x6f5764]
movsx eax, byte [edx]
cmp eax, 0x20
jle 0x4708b3
mov dword [ebp - 0x36c], 0x20
jmp 0x4708c2
mov ecx, dword [0x6f5764]
movsx edx, byte [ecx]
mov dword [ebp - 0x36c], edx
mov eax, dword [0x6f5794]
movsx eax, byte [eax]
imul eax, dword [ebp - 0x36c]
cdq
and edx, 0x1f
add eax, edx
sar eax, 5
mov ecx, dword [ebp - 0x23c]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x60]
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x60], eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
add eax, 1
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x64], eax
mov dword [ebp - 0x74], 0
mov edx, dword [ebp - 0x23c]
movzx eax, byte [edx + 0xe0]
test eax, eax
jne 0x4709b9
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0x74], edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xbc
call fcn.0049e7c0
mov ecx, dword [ebp - 0x23c]
cmp eax, dword [ecx + 0x64]
jg 0x470975
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
add eax, 1
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xbc
call fcn.0049e7a0
movzx ecx, byte [ebp + 8]
test ecx, ecx
jne 0x4709b9
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x74]
imul ecx, dword [eax + 0x100]
mov eax, ecx
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xbc
call fcn.0049e800
mov dword [eax], esi
jmp 0x46d0be
lea ecx, [ebp - 0x64]
call fcn.0049cd70
movsx ecx, byte [eax]
cmp ecx, 0xd
jne 0x4709d3
jmp 0x46d0be
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x74]
cmp eax, dword [ebp - 0x74]
jle 0x4709ed
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x74]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
push edx
mov ecx, dword [ebp - 0x23c]
call fcn.00471670
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + 0x74]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
push eax
mov ecx, 0x6f4390
call fcn.00471400
mov ecx, dword [ebp - 0x40]
add ecx, 1
mov dword [ebp - 0x40], ecx
fld qword [0x6aab58]
fld qword [ebp + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x470e6d
fld qword [0x6aab58]
fld qword [ebp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jp 0x470e6d
movzx edx, byte [ebp + 8]
test edx, edx
je 0x470e6d
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x370], ecx
fild dword [ebp - 0x370]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x54]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x5c]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x74]
mov edx, dword [0x6ce244]
lea ecx, [ecx + edx*2]
neg ecx
imul ecx, dword [0x6ce228]
cmp eax, ecx
jle 0x470e6d
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x374], edx
fild dword [ebp - 0x374]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x54]
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x5c]
mov ecx, dword [0x6ce244]
imul ecx, ecx, 0x14
imul ecx, dword [0x6ce228]
cmp eax, ecx
jge 0x470e6d
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x60]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [edx + 0x74]
add eax, ecx
mov edx, dword [0x6ce244]
imul edx, edx, 0xf
imul edx, dword [0x6ce228]
cmp eax, edx
jge 0x470e6d
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x58]
mov edx, dword [ebp - 0x23c]
add ecx, dword [edx + 0x60]
mov eax, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x74]
sub edx, dword [eax + 0x74]
add ecx, edx
mov eax, dword [ebp - 0x23c]
mov edx, dword [eax + 0x74]
mov eax, dword [0x6ce244]
lea edx, [edx + eax*2]
neg edx
imul edx, dword [0x6ce228]
cmp ecx, edx
jle 0x470e6d
cmp dword [0x6f54a8], 0
je 0x470ce8
push 0
push 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + 0x74]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x60]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [edx + 0x74]
add eax, dword [0x6f54a8]
add ecx, eax
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x378], edx
fild dword [ebp - 0x378]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x54]
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x5c]
add eax, dword [0x6f54a8]
push eax
call fcn.005100b0
add esp, 0x1c
push 0
push 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x23c]
mov eax, dword [eax + 0x74]
imul eax, dword [ecx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x70]
push eax
mov ecx, 0x6fa8b0
call fcn.0049e800
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x58]
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x60]
mov edx, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x74]
sub ecx, dword [edx + 0x74]
add eax, ecx
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x37c], edx
fild dword [ebp - 0x37c]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x54]
mov edx, dword [ebp - 0x23c]
add eax, dword [edx + 0x5c]
push eax
call fcn.005100b0
add esp, 0x1c
cmp eax, 0xffffffff
jne 0x470e6d
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x230], esp
push 0x69d8f9
call fcn.0049cab0
mov dword [ebp - 0x380], eax
mov eax, dword [ebp - 0x380]
mov dword [ebp - 0x384], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x23c]
add ecx, 0x1c
call fcn.0049cd70
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x234], esp
push eax
call fcn.0049cab0
mov dword [ebp - 0x388], eax
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x38c], ecx
mov byte [ebp - 4], 0xe
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x238], esp
push 0x69e268
call fcn.0049cab0
mov dword [ebp - 0x390], eax
mov byte [ebp - 4], 2
call fcn.0040ffb0
add esp, 0x54
fld qword [0x6aab58]
fld qword [ebp + 0xc]
fucompp
fnstsw ax
test ah, 0x44
jp 0x470e95
fld qword [0x6aab58]
fld qword [ebp + 0x14]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x4712ba
movzx edx, byte [ebp + 8]
test edx, edx
je 0x4712ba
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x64]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0xf4]
sub ecx, dword [eax]
imul ecx, dword [ebp - 0x44]
mov dword [ebp - 0x394], ecx
fild dword [ebp - 0x394]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov edx, dword [ebp - 0x23c]
add esi, dword [edx + 0x54]
mov eax, dword [ebp - 0x23c]
fild dword [eax + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, eax
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x74]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
mov edx, dword [0x6ce244]
lea eax, [eax + edx*2]
neg eax
imul eax, dword [0x6ce228]
cmp esi, eax
jle 0x4712ba
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x64]
push edx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x398], edx
fild dword [ebp - 0x398]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov eax, dword [ebp - 0x23c]
add esi, dword [eax + 0x54]
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, eax
mov edx, dword [0x6ce244]
imul edx, edx, 0x14
imul edx, dword [0x6ce228]
cmp esi, edx
jge 0x4712ba
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x60]
add ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x23c]
sub ecx, dword [edx + 0x74]
mov dword [ebp - 0x39c], ecx
fild dword [ebp - 0x39c]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x58]
mov edx, dword [0x6ce244]
imul edx, edx, 0xf
imul edx, dword [0x6ce228]
cmp eax, edx
jge 0x4712ba
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x60]
add ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x23c]
sub ecx, dword [edx + 0x74]
mov dword [ebp - 0x3a0], ecx
fild dword [ebp - 0x3a0]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov esi, eax
mov eax, dword [ebp - 0x23c]
add esi, dword [eax + 0x58]
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x74]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov edx, dword [0x6ce244]
lea eax, [eax + edx*2]
neg eax
imul eax, dword [0x6ce228]
cmp esi, eax
jle 0x4712ba
cmp dword [0x6f54a8], 0
je 0x471191
push 0
push 0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ecx + 0x74]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xdc]
shl ecx, 6
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x78]
shl eax, 5
lea ecx, [ecx + eax + 0x6f4390]
mov edx, dword [ebp - 0x34]
shl edx, 4
add ecx, edx
call fcn.0049e800
mov eax, dword [eax]
push eax
push 0
push 0
push 0
call fcn.004eb060
add esp, 0xc
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
fld qword [ebp + 0x14]
sub esp, 8
fstp qword [esp]
fld qword [ebp + 0xc]
sub esp, 8
fstp qword [esp]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x74]
sub edx, dword [ecx + 0x74]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x60]
add ecx, edx
mov dword [ebp - 0x3a4], ecx
fild dword [ebp - 0x3a4]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov edx, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x58]
add ecx, eax
add ecx, dword [0x6f54a8]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x3a8], edx
fild dword [ebp - 0x3a8]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov eax, dword [ebp - 0x23c]
add esi, dword [eax + 0x54]
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, dword [0x6f54a8]
add eax, esi
push eax
call fcn.00510370
add esp, 0x2c
push 0
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x74]
imul ecx, dword [eax + 0x100]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x70]
push eax
mov ecx, 0x6fa8b0
call fcn.0049e800
mov ecx, dword [eax]
push ecx
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
fld qword [ebp + 0x14]
sub esp, 8
fstp qword [esp]
fld qword [ebp + 0xc]
sub esp, 8
fstp qword [esp]
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x74]
sub eax, dword [edx + 0x74]
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x60]
add edx, eax
mov dword [ebp - 0x3ac], edx
fild dword [ebp - 0x3ac]
fmul qword [ebp + 0x14]
call fcn.004cd0f0
mov ecx, dword [ebp - 0x23c]
add eax, dword [ecx + 0x58]
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 0xcc
call fcn.0049e800
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xf4]
sub edx, dword [eax]
imul edx, dword [ebp - 0x44]
mov dword [ebp - 0x3b0], edx
fild dword [ebp - 0x3b0]
fmul qword [ebp + 0xc]
fdiv qword [0x69df78]
call fcn.004cd0f0
mov esi, eax
mov eax, dword [ebp - 0x23c]
add esi, dword [eax + 0x54]
mov ecx, dword [ebp - 0x23c]
fild dword [ecx + 0x5c]
fmul qword [ebp + 0xc]
call fcn.004cd0f0
add esi, eax
push esi
call fcn.00510370
add esp, 0x2c
push 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x23c]
mov ecx, dword [edx + 0x74]
imul ecx, dword [eax + 0x100]
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xdc]
shl eax, 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0x78]
shl edx, 5
lea ecx, [eax + edx + 0x6f4390]
mov eax, dword [ebp - 0x34]
shl eax, 4
add ecx, eax
call fcn.0049e800
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x68]
sub eax, dword [ebp - 0x7c]
push eax
lea ecx, [ebp - 0x64]
call fcn.0049cd70
push eax
call fcn.0050f3d0
add esp, 0x10
mov ecx, eax
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x38]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x23c]
mov edx, dword [eax + 0x68]
sub edx, dword [ebp - 0x7c]
mov eax, edx
imul eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x23c]
imul eax, dword [edx + 0x100]
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x23c]
add ecx, dword [eax + 0x5c]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 0x5c], ecx
movzx eax, byte [ebp + 8]
test eax, eax
jne 0x471397
mov ecx, dword [ebp - 0x74]
push ecx
mov ecx, dword [ebp - 0x23c]
call fcn.00471a90
mov edx, dword [ebp - 0x23c]
movzx eax, byte [edx + 0xe0]
test eax, eax
je 0x4713c0
mov ecx, dword [0x6f4040]
push ecx
mov ecx, dword [ebp - 0x23c]
add ecx, 0xbc
call fcn.0049e7a0
jmp 0x46d0be
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.0049caf0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x64]
call fcn.0049caf0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004cac87
mov esp, ebp
pop ebp
ret 0x14