Function at 0x40e1f0
Capabilities:
Write file on windows

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x30c
mov ebx, dword [0x42d068]
mov dword [0x42480c], 0
mov esi, dword [esp + 0x320]
test ebx, ebx
je 0x40faf4
mov dword [esp + 4], 0x402b50
mov dword [esp], 0xb
call sub.msvcrt.dll_signal
mov edx, 1
mov eax, 0x10
call fcn.004042f0
mov dword [eax], 0
mov ebx, dword [0x42d068]
mov dword [eax + 4], str.unknown
mov dword [eax + 8], 7
mov dword [eax + 0xc], 1
test ebx, ebx
je 0x40fc3e
mov eax, dword [0x42d064]
test eax, eax
jne 0x40f6c2
mov dword [0x424810], 0x401750
call dword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov dword [esp], 0xfde9
mov dword [0x449d14], eax
call dword [sym.imp.KERNEL32.dll_SetConsoleOutputCP]
sub esp, 4
mov dword [esp], 0x402a10
call fcn.004015ad
test eax, eax
jne 0x40f83e
mov dword [esp], 1
lea edi, [esp + 0x260]
mov dword [esp + 0x260], 0
call dword [sym.imp.msvcrt.dll__get_osfhandle]
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetConsoleMode]
sub esp, 8
mov ebx, dword [esp + 0x260]
test ebx, ebx
jle 0x40e35b
mov edi, dword [sym.imp.KERNEL32.dll_GetStdHandle]
mov dword [esp], 0xfffffff5
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_SetConsoleMode]
push ebp
mov dword [esp + 4], 7
mov dword [esp], eax
call ebx
push eax
push eax
mov dword [esp], 0xfffffff4
call edi
push edx
mov dword [esp + 4], 7
mov dword [esp], eax
call ebx
mov ebx, dword [fcn.00421784]
push ecx
push ecx
mov dword [esp], 1
call ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_setbuf
mov dword [esp], 2
call ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_setbuf
mov dword [esp + 4], 0x406860
mov dword [esp], 1
call dword [sym.imp.KERNEL32.dll_AddVectoredExceptionHandler]
mov edx, 1
mov eax, 1
mov dword [0x449d40], 0x425b88
mov dword [0x449d44], 0xc8
sub esp, 8
mov dword [0x449d48], 1
mov dword [0x449d34], 0x425c54
mov dword [0x449d38], 0x24
mov dword [0x449d3c], 1
mov dword [0x449d28], 0x425b88
mov dword [0x449d2c], 0xc8
mov dword [0x449d30], 1
mov dword [0x449d24], 0x80000000
mov dword [0x449d20], 0x7fffffff
mov dword [0x449d18], 0
mov dword [0x449d1c], 0x80000000
call fcn.004042f0
test esi, esi
mov ecx, 0xc
mov dword [0x449d54], 0
mov dword [0x449d50], eax
mov dword [0x449d58], eax
mov dword [0x449d5c], eax
mov eax, dword [0x449d20]
mov dword [0x449d4c], eax
mov eax, 0
cmovns eax, esi
imul ecx
mov edi, eax
test eax, eax
js 0x41044c
je 0x40f57e
mov edx, 1
mov eax, edi
call fcn.004042f0
test eax, eax
je 0x40f57e
mov edx, eax
xor ecx, ecx
test esi, esi
jle 0x40e4ea
lea esi, [esi]
nop
add ecx, 1
mov dword [edx], 0x4250a8
add edx, 0xc
mov dword [edx - 8], 0
mov dword [edx - 4], 1
cmp esi, ecx
jne 0x40e470
mov ebx, eax
xor edi, edi
lea esi, [esi]
lea esi, [esi]
mov eax, dword [esp + 0x324]
add ebx, 0xc
mov ebp, dword [eax + edi*4]
add edi, 1
mov dword [esp], ebp
call sub.msvcrt.dll_wcslen
mov edx, ebp
mov ecx, eax
lea eax, [esp + 0xdc]
call fcn.00407560
mov eax, dword [esp + 0xdc]
mov dword [ebx - 0xc], eax
mov eax, dword [esp + 0xe0]
mov dword [ebx - 8], eax
mov eax, dword [esp + 0xe4]
mov dword [ebx - 4], eax
cmp esi, edi
jg 0x40e4a0
lea eax, [esp + 0x70]
mov ebx, 0x4b
call fcn.00407630
mov edx, 1
mov eax, 0x30
call fcn.004042f0
mov dword [eax], str..exe
mov dword [eax + 4], 4
mov dword [eax + 8], 1
mov dword [eax + 0xc], str..bat
mov dword [eax + 0x10], 4
mov dword [eax + 0x14], 1
mov dword [eax + 0x18], str..cmd
mov dword [eax + 0x1c], 4
mov dword [eax + 0x20], 1
mov dword [eax + 0x24], 0x4250a8
mov dword [eax + 0x28], 0
mov dword [eax + 0x2c], 1
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor edx, edx
mov eax, 0x34
call fcn.004042f0
lea edi, [eax + 8]
mov edx, eax
and edi, 0xfffffffc
sub eax, edi
lea ecx, [eax + 0x34]
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov eax, dword [fcn.00421784]
mov dword [edx], 0x30
mov edi, str.Please_enter_the_expression_you_want_to_calculate__e.g._1e2_3_2.5_6_1.5_.
mov dword [edx + 4], 0x31
mov dword [edx + 8], 0x32
mov dword [edx + 0xc], 0x33
mov dword [edx + 0x10], 0x34
mov dword [edx + 0x14], 0x35
mov dword [edx + 0x18], 0x36
mov dword [edx + 0x1c], 0x37
mov dword [edx + 0x20], 0x38
mov dword [edx + 0x24], 0x39
mov dword [edx + 0x28], 0x2e
mov dword [edx + 0x2c], 0x65
mov dword [edx + 0x30], 0x45
mov dword [0x449d60], edx
mov dword [0x449d64], 0
mov dword [0x449d68], 0xd
mov dword [0x449d6c], 0xd
mov dword [0x449d70], 0
mov dword [0x449d74], 4
mov byte [esp + 0x260], 0xa
mov dword [esp], 1
mov dword [esp + 0x2c], eax
call eax
mov esi, eax
lea esi, [esi]
lea esi, [esi]
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 0xc], esi
mov dword [esp + 4], 1
call sub.msvcrt.dll_fwrite
sub ebx, eax
add edi, eax
test ebx, ebx
jg 0x40e640
mov dword [esp], 1
mov eax, dword [esp + 0x2c]
mov ebx, 1
lea edi, [esp + 0x260]
call eax
mov esi, eax
lea esi, [esi]
nop
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 0xc], esi
mov dword [esp + 4], 1
call sub.msvcrt.dll_fwrite
sub ebx, eax
add edi, eax
test ebx, ebx
jg 0x40e680
mov dword [esp], 1
mov eax, dword [esp + 0x2c]
mov edi, str.Enter_exit_or_EXIT_to_quit.
mov ebx, 0x1f
mov byte [esp + 0x260], 0xa
call eax
mov esi, eax
lea esi, [esi]
lea esi, [esi]
nop
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 0xc], esi
mov dword [esp + 4], 1
call sub.msvcrt.dll_fwrite
sub ebx, eax
add edi, eax
test ebx, ebx
jg 0x40e6d0
mov dword [esp], 1
mov eax, dword [esp + 0x2c]
mov ebx, 1
lea edi, [esp + 0x260]
call eax
mov esi, eax
lea esi, [esi]
nop
mov dword [esp + 8], ebx
mov dword [esp], edi
mov dword [esp + 0xc], esi
mov dword [esp + 4], 1
call sub.msvcrt.dll_fwrite
sub ebx, eax
add edi, eax
test ebx, ebx
jg 0x40e710
mov dword [esp + 0x1c0], 0
xor ebx, ebx
xor esi, esi
mov edi, dword [0x449d60]
mov dword [esp + 0x1c4], 0
mov eax, 0x39
mov ecx, dword [0x449d68]
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0xc
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e4], 0
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0xc
lea esi, [esi]
test ecx, ecx
jle 0x40e7ec
cmp eax, dword [edi]
je 0x40e820
xor edx, edx
jmp 0x40e7e5
cmp eax, dword [edi + edx*4]
je 0x40e820
add edx, 1
cmp edx, ecx
jne 0x40e7e0
cmp esi, ebx
jg 0x40e828
je 0x40ea20
cmp ebx, 6
jg 0x40e8d9
mov edi, dword [0x449d60]
mov ecx, dword [0x449d68]
mov esi, ebx
movzx eax, byte [esi + str.9623]
jmp 0x40e7d0
add esi, 1
cmp esi, 7
jne 0x40e80d
cmp esi, dword [0x449d4c]
je 0x40eae0
cmp esi, 7
jg 0x41004e
cmp esi, ebx
jl 0x41004e
mov edi, esi
sub edi, ebx
cmp edi, 7
je 0x40e9a0
lea ecx, [edi + 1]
add ebx, str.9623
mov eax, ecx
mov dword [esp + 0x18], ecx
call fcn.00406b80
test edi, edi
mov edx, edi
mov ecx, dword [esp + 0x18]
mov ebp, eax
je 0x40e88b
mov dword [esp + 0x18], edi
xor eax, eax
movzx edx, byte [ebx + eax]
mov byte [ebp + eax], dl
add eax, 1
cmp eax, edi
jb 0x40e878
mov edx, dword [esp + 0x18]
mov byte [ebp + edi], 0
test edi, edi
jg 0x40e9cd
mov dword [esp + 0xe8], 0x4250a8
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 1
lea edi, [esp + 0x1c0]
lea edx, [esp + 0xe8]
mov ebx, esi
mov eax, edi
call fcn.00407220
cmp ebx, 6
jle 0x40e7ff
mov eax, dword [esp + 0x1c8]
lea ebx, [esp + 0x1c0]
test eax, eax
jg 0x40e95c
jmp 0x40eaf0
mov ebp, dword [eax]
lea eax, [esi + 1]
call fcn.00406b80
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov edi, eax
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov byte [edi + esi], 0
mov dword [esp + 0x148], edi
mov dword [esp + 0x14c], esi
mov dword [esp + 0x150], 0
lea edx, [esp + 0x148]
lea eax, [esp + 0x1d8]
call fcn.00407220
mov eax, dword [esp + 0x1c8]
lea edx, [eax - 1]
mov eax, ebx
call fcn.0040de70
mov eax, dword [esp + 0x1c8]
test eax, eax
jle 0x40eaf0
sub eax, 1
imul eax, dword [esp + 0x1d4]
add eax, dword [esp + 0x1c0]
mov esi, dword [eax + 4]
test esi, esi
jg 0x40e8f0
mov dword [esp + 0x148], 0x4250a8
mov dword [esp + 0x14c], 0
mov dword [esp + 0x150], 1
jmp 0x40e929
mov eax, 8
mov ebx, 0x2a32
call fcn.00406b80
mov edx, 7
mov ecx, 8
mov dword [eax], 0x2b362b39
mov ebp, eax
mov word [eax + 4], bx
mov byte [eax + 6], 0x33
mov byte [eax + 7], 0
mov eax, ecx
mov dword [esp + 0x18], edx
call fcn.00406b80
mov edx, dword [esp + 0x18]
test edx, edx
je 0x40e9f1
xor ebx, ebx
movzx ecx, byte [ebp + ebx]
mov byte [eax + ebx], cl
add ebx, 1
cmp ebx, edx
jb 0x40e9e2
mov byte [eax + edx], 0
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], 0
jmp 0x40e8b9
movzx edi, byte [ebx + str.9623]
call fcn.00406eb0
mov esi, eax
mov eax, edi
mov byte [esi], al
mov byte [esi + 1], 0
cmp al, 0x28
je 0x40ee10
cmp al, 0x2a
je 0x40ea4a
cmp al, 0x2f
jne 0x40f8ad
mov eax, dword [esp + 0x1c8]
test eax, eax
jle 0x4102db
sub eax, 1
imul eax, dword [esp + 0x1d4]
add eax, dword [esp + 0x1c0]
mov edx, dword [eax]
mov ebp, dword [eax + 4]
test edx, edx
je 0x40f62d
lea edi, [esp + 0x1c0]
nop
cmp ebp, 1
jne 0x40f670
movzx eax, byte [edx]
cmp al, 0x28
je 0x40ea9b
sub eax, 0x2b
test al, 0xfd
jne 0x40f590
mov eax, 2
call fcn.00406b80
movzx edx, byte [esi]
mov dword [esp + 0x110], 1
mov byte [eax + 1], 0
mov byte [eax], dl
lea edx, [esp + 0x10c]
mov dword [esp + 0x10c], eax
mov eax, edi
mov dword [esp + 0x114], 0
call fcn.00407220
jmp 0x40ee55
mov edi, 7
jmp 0x40e847
mov edx, dword [esp + 0x1e8]
mov eax, dword [esp + 0x1ec]
mov edi, dword [esp + 0x1e0]
mov ebx, dword [esp + 0x1d8]
mov esi, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e4]
mov dword [esp + 0x200], edx
mov dword [esp + 0x204], eax
mov dword [esp + 0x284], edx
xor edx, edx
mov dword [esp + 0x288], eax
xor eax, eax
mov dword [esp + 0x1f0], ebx
mov dword [esp + 0x1f4], esi
mov dword [esp + 0x54], edi
mov dword [esp + 0x1f8], edi
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x274], ebx
mov dword [esp + 0x278], esi
mov dword [esp + 0x27c], edi
mov dword [esp + 0x280], ecx
call fcn.004042f0
mov dword [esp + 0x20c], 0
mov dword [esp + 0x208], eax
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], 8
test edi, edi
jle 0x40ff02
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], 0
lea esi, [esi]
mov eax, dword [esp + 0x40]
mov ebp, dword [eax + 4]
mov ebx, dword [eax]
test ebp, ebp
jle 0x40f1a0
lea esi, [ebp + ebx]
mov edi, dword [0x449d60]
mov ecx, dword [0x449d68]
mov eax, ebx
mov dword [esp + 0x18], esi
lea esi, [esi]
nop
movzx esi, byte [eax]
test ecx, ecx
jle 0x40ec30
cmp esi, dword [edi]
je 0x40ee60
xor edx, edx
jmp 0x40ec29
cmp esi, dword [edi + edx*4]
je 0x40ee60
add edx, 1
cmp ecx, edx
jne 0x40ec20
mov edx, dword [esp + 0x210]
cmp edx, 1
jle 0x40f6fa
mov eax, dword [esp + 0x21c]
sub edx, 1
mov ecx, dword [esp + 0x208]
lea esi, [esp + 0x208]
imul eax, edx
fld qword [ecx + eax]
mov eax, esi
fstp qword [esp + 0x18]
call fcn.0040de70
mov edx, dword [esp + 0x210]
mov ecx, dword [esp + 0x208]
mov eax, dword [esp + 0x21c]
fld qword [esp + 0x18]
test edx, edx
je 0x4102fa
sub edx, 1
fstp qword [esp + 0x20]
imul eax, edx
fld qword [ecx + eax]
mov eax, esi
fstp qword [esp + 0x18]
call fcn.0040de70
test ebx, ebx
fld qword [esp + 0x18]
fld qword [esp + 0x20]
je 0x40f629
cmp ebp, 1
jne 0x40ecf0
movzx eax, byte [ebx]
cmp al, 0x2b
je 0x40f090
cmp al, 0x2d
jne 0x40f69e
fsubp st(1)
lea edx, [esp + 0xa0]
mov eax, esi
fstp qword [esp + 0xa0]
call fcn.00408730
jmp 0x40ed00
fstp st(0)
fstp st(0)
jmp 0x40ed00
fstp st(0)
fstp st(0)
lea esi, [esi]
add dword [esp + 0x34], 1
mov eax, dword [esp + 0x34]
add dword [esp + 0x40], 0xc
cmp dword [esp + 0x54], eax
jne 0x40ebd0
mov edx, dword [esp + 0x210]
mov eax, dword [esp + 0x208]
test edx, edx
jle 0x40ff04
fld qword [eax]
fst qword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
lea ecx, [edx - 0x80000000]
or ecx, eax
je 0x40fb4a
or edx, eax
je 0x40fa4e
fld st(0)
fchs
fldz
fcompi st(2)
fld st(1)
fcmovnbe st(0), st(1)
fstp st(1)
fld qword [0x426258]
fxch st(1)
fcomi st(1)
fstp st(1)
jb 0x40ed82
fld dword [0x42623c]
fcompi st(1)
fstp st(0)
ja 0x40fbdc
fstp st(0)
jmp 0x40ed86
fstp st(0)
fstp st(0)
fld qword [esp + 0x18]
mov edx, 0x11
lea eax, [esp + 0xb8]
fstp qword [esp]
call fcn.0040af90
mov esi, dword [esp + 0xb8]
mov ebx, dword [esp + 0xbc]
mov byte [esp + 0x260], 0xa
test esi, esi
je 0x40fb63
test ebx, ebx
jg 0x40fa62
mov dword [esp], 1
mov eax, dword [esp + 0x2c]
mov ebx, 1
lea esi, [esp + 0x260]
call eax
mov edi, eax
nop
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], 1
call sub.msvcrt.dll_fwrite
sub ebx, eax
add esi, eax
test ebx, ebx
jg 0x40ede0
jmp 0x40e730
mov eax, 2
lea edi, [esp + 0x1c0]
call fcn.00406b80
movzx edx, byte [esi]
mov dword [esp + 0xf8], 1
mov byte [eax + 1], 0
mov byte [eax], dl
lea edx, [esp + 0xf4]
mov dword [esp + 0xf4], eax
mov eax, edi
mov dword [esp + 0xfc], 0
call fcn.00407220
add ebx, 1
jmp 0x40e7f6
add eax, 1
cmp dword [esp + 0x18], eax
jne 0x40ec00
xor ecx, ecx
movzx eax, byte [ebx + ecx]
lea edx, [eax - 9]
cmp dl, 4
jbe 0x40f070
cmp al, 0x20
je 0x40f070
cmp al, 0x85
je 0x40f070
cmp al, 0xa0
je 0x40f070
mov byte [esp + 0x33], 0
cmp al, 0x2d
jne 0x40eead
mov byte [esp + 0x33], 1
movzx eax, byte [ebx + ecx + 1]
add ecx, 1
cmp al, 0x2b
sete al
movzx eax, al
add ecx, eax
cmp ecx, ebp
jge 0x40efb0
movzx edi, byte [ebx + ecx]
lea edx, [edi - 0x30]
mov eax, edi
mov dword [esp + 0x38], edi
cmp dl, 9
ja 0x40faa5
mov dword [esp + 0x44], ebx
xor esi, esi
xor edi, edi
mov ebx, ecx
mov dword [esp + 0x18], 0
mov dword [esp + 0x20], 0
jmp 0x40ef43
mov eax, 0xa
imul ecx, edi, 0xa
mul esi
mov edi, edx
mov esi, eax
xor edx, edx
add edi, ecx
mov ecx, dword [esp + 0x38]
sub ecx, 0x30
add esi, ecx
adc edi, edx
add ebx, 1
add dword [esp + 0x20], 1
cmp ebp, ebx
je 0x40ef66
mov eax, dword [esp + 0x44]
movzx ecx, byte [eax + ebx]
lea edx, [ecx - 0x30]
mov eax, ecx
mov dword [esp + 0x38], ecx
cmp dl, 9
ja 0x40f0b0
cmp dword [esp + 0x20], 0x11
jle 0x40ef00
mov ecx, dword [esp + 0x18]
xor eax, eax
cmp ecx, 0x7fffffff
setne al
add ebx, 1
add ecx, eax
mov dword [esp + 0x18], ecx
cmp ebp, ebx
jne 0x40ef29
mov ecx, ebp
mov edx, edi
or edx, esi
je 0x40efb0
cmp dword [esp + 0x18], 0x135
jle 0x40efa0
cmp byte [esp + 0x33], 0
je 0x40f2a4
test ecx, ecx
jne 0x40ef8b
test ebp, ebp
jg 0x40f001
fld dword [0x42627c]
jmp 0x40efd0
cmp dword [esp + 0x18], 0xfffffeb8
jge 0x40eff1
lea esi, [esi]
cmp byte [esp + 0x33], 0
je 0x40f180
test ecx, ecx
jne 0x40efc3
test ebp, ebp
jg 0x40f001
fldz
fchs
lea esi, [esi]
nop
lea esi, [esp + 0x208]
lea edx, [esp + 0x90]
fstp qword [esp + 0x90]
mov eax, esi
call fcn.00408730
jmp 0x40ed00
test ecx, ecx
jne 0x40f2c2
test ebp, ebp
jle 0x40f2c2
mov dword [esp + 0x1a0], str.not_a_number
mov eax, 0x10
mov dword [esp + 0x1a4], 0xc
mov dword [esp + 0x1a8], 1
mov dword [esp + 0x1ac], 0
call fcn.00404460
mov edx, dword [esp + 0x1a0]
mov dword [eax], edx
mov edx, dword [esp + 0x1a4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x1a8]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x1ac]
mov dword [eax + 0xc], edx
fldz
jmp 0x40efd0
add ecx, 1
movzx eax, byte [ebx + ecx]
cmp ebp, ecx
jne 0x40ee6f
mov ecx, ebp
jmp 0x40ee97
faddp st(1)
lea edx, [esp + 0x98]
mov eax, esi
fstp qword [esp + 0x98]
call fcn.00408730
jmp 0x40ed00
mov ecx, ebx
mov ebx, dword [esp + 0x44]
cmp al, 0x2e
je 0x40f21e
cmp ebp, ecx
jle 0x40ef68
and eax, 0xffffffdf
cmp al, 0x45
jne 0x40ef68
lea eax, [ecx + 1]
cmp ebp, eax
jle 0x40f2bb
movzx edx, byte [ebx + ecx + 1]
cmp dl, 0x2b
je 0x40fac9
cmp dl, 0x2d
je 0x40f962
movzx ecx, dl
sub edx, 0x30
mov dword [esp + 0x20], ecx
mov ecx, eax
cmp dl, 9
ja 0x40fae9
mov byte [esp + 0x44], 0
mov dword [esp + 0x3c], edi
xor edx, edx
mov edi, ebp
mov ebp, ebx
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x20]
jmp 0x40f13e
movzx ebx, byte [ebp + ecx]
mov eax, ebx
sub eax, 0x30
cmp al, 9
ja 0x40f154
cmp edx, 0xccccccb
jg 0x40f14d
lea eax, [edx + edx*4]
lea edx, [ebx + eax*2 - 0x30]
add ecx, 1
cmp edi, ecx
jg 0x40f130
cmp byte [esp + 0x44], 0
mov ebp, edi
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
je 0x40faeb
sub dword [esp + 0x18], edx
jmp 0x40ef68
test ecx, ecx
jne 0x40f05e
test ebp, ebp
jg 0x40f001
fldz
jmp 0x40efd0
jne 0x410451
mov dword [esp + 0x1b0], str.expected_a_number_found_an_empty_string
mov eax, 0x10
mov dword [esp + 0x1b4], 0x27
mov dword [esp + 0x1b8], 1
mov dword [esp + 0x1bc], 0
call fcn.00404460
mov edx, dword [esp + 0x1b0]
fldz
mov dword [eax], edx
mov edx, dword [esp + 0x1b4]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x1b8]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x1bc]
mov dword [eax + 0xc], edx
jmp 0x40efd0
mov dword [esp + 0x18], 0
xor esi, esi
xor edi, edi
mov dword [esp + 0x20], 0
add ecx, 1
cmp ebp, ecx
jle 0x40ef68
movzx edx, byte [ebx + ecx]
mov eax, edx
mov dword [esp + 0x48], edx
lea edx, [edx - 0x30]
cmp dl, 9
ja 0x40f0c6
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x38], ebp
mov ebp, ecx
jmp 0x40f266
mov eax, dword [esp + 0x44]
movzx ebx, byte [eax + ebp]
lea edx, [ebx - 0x30]
mov eax, ebx
cmp dl, 9
ja 0x40f7fd
cmp dword [esp + 0x20], 0x11
jg 0x40f290
mov eax, 0xa
imul ecx, edi, 0xa
mul esi
mov edi, edx
mov esi, eax
add edi, ecx
lea ecx, [ebx - 0x30]
xor ebx, ebx
add esi, ecx
adc edi, ebx
sub dword [esp + 0x18], 1
add dword [esp + 0x20], 1
add ebp, 1
cmp dword [esp + 0x38], ebp
jg 0x40f250
mov ecx, ebp
mov ebp, dword [esp + 0x38]
jmp 0x40ef68
test ecx, ecx
jne 0x40f2b0
test ebp, ebp
jg 0x40f001
fld dword [0x426278]
jmp 0x40efd0
mov ecx, eax
jmp 0x40ef68
mov eax, dword [esp + 0x18]
mov ecx, esi
mov ebx, edi
test eax, eax
jle 0x40fc26
mov dword [esp + 0x38], eax
xor ebp, ebp
mov edi, esi
mov ecx, ebx
mov dword [esp + 0x20], 0x5c
lea esi, [esi]
lea esi, [esi]
nop
mov eax, edi
mov edx, ecx
add ecx, ecx
add ebp, ebp
shr eax, 0x1f
shr edx, 0x1f
lea ebx, [edi*8]
or ecx, eax
or ebp, edx
mov esi, ecx
lea ecx, [edi + edi]
mov dword [esp + 0x44], ebp
lea ebp, [edi*4]
mov eax, ecx
lea edx, [esi + esi]
shr ebp, 0x1f
xor edi, edi
shr eax, 0x1f
mov dword [esp + 0x48], esi
mov esi, dword [esp + 0x48]
or edx, eax
mov eax, edx
mov dword [esp + 0x50], edx
xor edx, edx
add eax, eax
or ebp, eax
mov eax, ebx
add eax, ecx
adc edx, edi
lea edi, [ecx + ebx]
xor ebx, ebx
mov eax, edx
xor edx, edx
add eax, esi
adc edx, ebx
xor ebx, ebx
add eax, ebp
adc edx, ebx
mov dword [esp + 0x48], eax
mov ecx, eax
shr esi, 0x1f
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x50]
sub dword [esp + 0x38], 1
lea eax, [edx + edx]
or eax, esi
shr ebx, 0x1f
add eax, eax
or eax, ebx
lea ebp, [eax + edx]
add ebp, dword [esp + 0x4c]
test ebp, 0xf0000000
je 0x40f3b1
lea esi, [esi]
mov eax, ecx
shr edi, 1
add dword [esp + 0x20], 1
shl eax, 0x1f
shr ecx, 1
or edi, eax
mov eax, ebp
shr ebp, 1
shl eax, 0x1f
or ecx, eax
test ebp, 0x70000000
jne 0x40f390
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x40f2f0
mov ebx, ecx
mov ecx, edi
mov edi, dword [esp + 0x18]
mov eax, 0
test edi, edi
cmovns eax, edi
sub edi, eax
je 0x40f7b5
mov dword [esp + 0x18], edi
mov esi, ebp
lea esi, [esi]
mov eax, ebx
mov edx, ecx
add ebx, ebx
add esi, esi
shr edx, 0x1f
shr eax, 0x1f
add ecx, ecx
sub dword [esp + 0x20], 1
or ebx, edx
or esi, eax
jns 0x40f3e0
mov eax, 0xcccccccd
mul esi
shr edx, 3
lea eax, [edx + edx*4]
mov ebp, edx
add eax, eax
sub esi, eax
mov eax, ebx
shl ebx, 0x10
shr eax, 8
shl esi, 0x18
and ebx, 0xff0000
or esi, eax
mov eax, 0xcccccccd
mul esi
mov edi, edx
mov edx, ecx
shr edi, 3
shr edx, 0x10
lea eax, [edi + edi*4]
or ebx, edx
shl edi, 8
add eax, eax
sub esi, eax
mov eax, 0xcccccccd
shl esi, 0x18
or esi, ebx
mul esi
mov eax, edx
shr edx, 0x13
shr eax, 3
movzx ebx, dl
movzx edx, cx
or ebx, edi
mov edi, eax
lea eax, [eax + eax*4]
mov ecx, edx
add eax, eax
shl edi, 0x10
sub esi, eax
mov eax, 0xcccccccd
shl esi, 0x10
or ecx, esi
mov esi, ebp
mul ecx
shr edx, 3
mov ecx, edx
or ecx, edi
add dword [esp + 0x18], 1
js 0x40f3e0
and esi, 0x10000000
mov eax, dword [esp + 0x20]
jne 0x40f4c3
lea esi, [esi]
lea esi, [esi]
nop
mov edx, ebx
add ebp, ebp
add ebx, ebx
sub eax, 1
shr edx, 0x1f
or ebp, edx
mov edx, ecx
add ecx, ecx
shr edx, 0x1f
or ebx, edx
test ebp, 0xf0000000
je 0x40f4a0
mov dword [esp + 0x20], eax
test bl, 0x80
je 0x40f4fd
test bl, 0x7f
je 0x40f89c
lea eax, [ebx + 0x80]
xor esi, esi
add ebx, 0x80
adc esi, 0
and eax, 0xffffff80
add ebp, esi
mov ebx, eax
test ebp, 0xe0000000
je 0x40f4fd
add dword [esp + 0x20], 1
shr ebx, 1
mov ebp, 0x10000000
mov eax, dword [esp + 0x20]
add eax, 0x3ff
cmp eax, 0x7fe
jg 0x40f7ed
test eax, eax
jle 0x40f7d9
and ebp, 0xfffffff
xor edi, edi
shl eax, 0x14
mov ecx, ebx
mov esi, ebp
mov ebp, edi
xor ebx, ebx
shld ebp, esi, 0x18
mov edi, esi
shl edi, 0x18
or eax, ebp
add ecx, 0x80
adc ebx, 0
mov edx, edi
shrd ecx, ebx, 8
shr ebx, 8
or edx, ecx
or eax, ebx
cmp byte [esp + 0x33], 0
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
je 0x40fc35
mov eax, dword [esp + 0x58]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x5c]
or eax, 0x80000000
mov dword [esp + 0x64], eax
fld qword [esp + 0x60]
jmp 0x40efd0
test esi, esi
jle 0x40e4ea
xor eax, eax
jmp 0x40e48e
lea eax, [ebp + 1]
mov dword [esp + 0x18], edx
call fcn.00406b80
mov edx, dword [esp + 0x18]
mov dword [esp + 8], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 0x18], eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x104], ebp
mov dword [esp + 0x108], 0
mov byte [ecx + ebp], 0
mov dword [esp + 0x100], ecx
lea edx, [esp + 0x100]
lea eax, [esp + 0x1d8]
call fcn.00407220
mov eax, dword [esp + 0x1c8]
lea edx, [eax - 1]
mov eax, edi
call fcn.0040de70
mov eax, dword [esp + 0x1c8]
test eax, eax
jle 0x40ea9b
sub eax, 1
imul eax, dword [esp + 0x1d4]
add eax, dword [esp + 0x1c0]
mov edx, dword [eax]
mov ebp, dword [eax + 4]
test edx, edx
jne 0x40ea80
jmp 0x40f62d
fstp st(0)
fstp st(0)
mov eax, str.string.eq__:_nil_string
mov edx, 0x17
mov ecx, 1
mov dword [esp + 0x260], str.string.eq__:_nil_string
mov dword [esp + 0x264], 0x17
mov dword [esp + 0x268], 1
call fcn.00406a40
lea esi, [esi]
lea esi, [esi]
test ebp, ebp
jg 0x40f590
mov dword [esp + 0x100], 0x4250a8
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 1
jmp 0x40f5d5
cmp al, 0x2a
jne 0x40f80c
fmulp st(1)
lea edx, [esp + 0xa8]
mov eax, esi
fstp qword [esp + 0xa8]
call fcn.00408730
jmp 0x40ed00
mov dword [esp], 0x42d04c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x42d064], 0
mov dword [0x424810], 0x401750
push ebp
je 0x40e27c
mov dword [esp], 0x42d04c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push edi
jmp 0x40e27c
mov dword [esp + 0x190], str.err:_invalid_expression
mov eax, 0x10
mov dword [esp + 0x194], 0x17
mov dword [esp + 0x198], 1
mov dword [esp + 0x19c], 0
call fcn.00404460
mov edx, dword [esp + 0x190]
mov dword [eax], edx
mov edx, dword [esp + 0x194]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x198]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x19c]
mov dword [eax + 0xc], edx
lea edx, [eax + 0xc]
mov dword [esp + 0x260], eax
mov edi, esp
lea esi, [esp + 0x260]
mov ecx, 4
mov dword [esp + 0x268], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x26c], edx
mov dword [esp + 0x264], 3
rep movsd dword es:[edi], dword [esi]
call fcn.0040dbd0
mov eax, dword [esp + 0xc4]
mov edx, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
call fcn.00402a30
jmp 0x40e730
mov eax, ebx
or eax, ecx
or eax, ebp
mov eax, dword [esp + 0x20]
jne 0x40f4a0
add eax, 0x3ff
cmp eax, 0x7fe
jg 0x40f7ed
test eax, eax
jg 0x40f05e
cmp byte [esp + 0x33], 0
fldz
je 0x40efd0
fchs
jmp 0x40efd0
cmp byte [esp + 0x33], 0
jne 0x40ef8b
jmp 0x40f2b0
mov ecx, ebp
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x38]
jmp 0x40f0c6
cmp al, 0x2f
jne 0x40ecf6
fldz
fxch st(1)
fucomi st(1)
fstp st(1)
jnp 0x40ffcc
fdivp st(1)
lea edx, [esp + 0xb0]
mov eax, esi
fstp qword [esp + 0xb0]
call fcn.00408730
jmp 0x40ed00
mov dword [esp + 0x16c], eax
mov eax, 0x10
mov dword [esp + 0x160], str.at_exit_failed
mov dword [esp + 0x164], 0xe
mov dword [esp + 0x168], 1
call fcn.00404460
mov edx, dword [esp + 0x160]
mov dword [eax], edx
mov edx, dword [esp + 0x164]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x168]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x16c]
mov dword [eax + 0xc], edx
jmp 0x40e2ab
test bh, 1
jne 0x40f4d1
and ebx, 0xffffff80
jmp 0x40f4fd
lea eax, [edi - 0x2b]
test al, 0xfd
jne 0x40fc8c
mov eax, dword [esp + 0x1c8]
test eax, eax
jle 0x4102e7
sub eax, 1
imul eax, dword [esp + 0x1d4]
add eax, dword [esp + 0x1c0]
mov edx, dword [eax]
mov ebp, dword [eax + 4]
test edx, edx
je 0x40fa19
mov dword [esp + 0x18], esi
lea edi, [esp + 0x1c0]
mov dword [esp + 0x20], ebx
mov ebx, edx
lea esi, [esi]
nop
cmp ebp, 1
jne 0x40fa20
cmp byte [ebx], 0x28
jne 0x40f990
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x20]
call fcn.0040cec0
mov eax, 2
call fcn.00406b80
movzx edx, byte [esi]
mov dword [esp + 0x128], 1
mov byte [eax + 1], 0
mov byte [eax], dl
lea edx, [esp + 0x124]
mov dword [esp + 0x124], eax
mov eax, edi
mov dword [esp + 0x12c], 0
call fcn.00407220
jmp 0x40ee55
add ecx, 2
cmp ebp, ecx
jle 0x40ef68
movzx edx, byte [ebx + ecx]
mov eax, edx
mov dword [esp + 0x20], edx
sub eax, 0x30
cmp al, 9
ja 0x4102f3
mov byte [esp + 0x44], 1
jmp 0x40f10d
lea eax, [ebp + 1]
call fcn.00406b80
mov dword [esp + 8], ebp
mov dword [esp + 4], ebx
mov esi, eax
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov byte [esi + ebp], 0
mov dword [esp + 0x118], esi
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x120], 0
lea edx, [esp + 0x118]
lea eax, [esp + 0x1d8]
call fcn.00407220
mov eax, dword [esp + 0x1c8]
lea edx, [eax - 1]
mov eax, edi
call fcn.0040de70
mov eax, dword [esp + 0x1c8]
test eax, eax
jle 0x40f912
sub eax, 1
imul eax, dword [esp + 0x1d4]
add eax, dword [esp + 0x1c0]
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
test ebx, ebx
jne 0x40f900
call fcn.00407a70
nop
test ebp, ebp
jg 0x40f990
mov dword [esp + 0x118], 0x4250a8
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 1
jmp 0x40f9c7
fstp st(0)
mov byte [esp + 0x260], 0xa
mov esi, 0x42569a
mov ebx, 3
mov dword [esp], 1
mov eax, dword [esp + 0x2c]
call eax
mov edi, eax
lea esi, [esi]
lea esi, [esi]
nop
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], 1
call sub.msvcrt.dll_fwrite
sub ebx, eax
add esi, eax
test ebx, ebx
jg 0x40fa80
jmp 0x40edc4
cmp al, 0x2e
je 0x40f20a
and eax, 0xffffffdf
cmp al, 0x45
jne 0x40efb0
mov dword [esp + 0x18], 0
xor esi, esi
xor edi, edi
jmp 0x40f0d1
add ecx, 2
cmp ebp, ecx
jle 0x40ef68
movzx edx, byte [ebx + ecx]
mov eax, edx
mov dword [esp + 0x20], edx
sub eax, 0x30
cmp al, 9
jbe 0x40f108
xor edx, edx
add dword [esp + 0x18], edx
jmp 0x40ef68
mov dword [esp], 0x425a07
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push ecx
test eax, eax
je 0x40fb32
mov dword [esp + 4], 0x425b48
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edx
push edx
test eax, eax
je 0x40fb32
mov dword [esp + 4], 0xfa0
mov dword [esp], 0x42d04c
call eax
push ebp
push ebp
jmp 0x40fb40
mov dword [esp], 0x42d04c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push edi
call fcn.00419360
jmp 0x40e219
fstp st(0)
mov byte [esp + 0x260], 0xa
mov esi, str._0.0
mov ebx, 4
jmp 0x40fa62
mov dword [esp], 1
mov eax, dword [esp + 0x2c]
mov esi, str.println_NIL_
mov ebx, 0xc
call eax
mov edi, eax
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], 1
call sub.msvcrt.dll_fwrite
sub ebx, eax
add esi, eax
test ebx, ebx
jg 0x40fb7c
mov dword [esp], 1
mov eax, dword [esp + 0x2c]
mov ebx, 1
lea esi, [esp + 0x260]
call eax
mov edi, eax
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], 1
call sub.msvcrt.dll_fwrite
sub ebx, eax
add esi, eax
test ebx, ebx
jg 0x40fbb7
jmp 0x40e730
mov eax, esi
fstp qword [esp]
mov edx, 0x12
mov edi, esp
call fcn.0040af90
mov ebx, dword [esp + 0x210]
mov ecx, 3
lea eax, [esp + 0x260]
rep movsd dword es:[edi], dword [esi]
call fcn.00407df0
cmp ebx, 0xfa1d05ee
je 0x41029d
mov esi, dword [esp + 0x260]
mov ebx, dword [esp + 0x264]
jmp 0x40edac
mov dword [esp + 0x20], 0x5c
xor ebp, ebp
jmp 0x40f3c1
fld qword [esp + 0x58]
jmp 0x40efd0
mov dword [esp], 0x425a07
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push ecx
test eax, eax
je 0x41003b
mov dword [esp + 4], 0x425b48
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edx
push edx
test eax, eax
je 0x41003b
mov dword [esp + 4], 0xfa0
mov dword [esp], 0x42d04c
call eax
push eax
push eax
call fcn.00419360
jmp 0x40e265
mov eax, edi
cmp al, 0x29
jne 0x40fd75
mov eax, dword [esp + 0x1c8]
lea edi, [esp + 0x1c0]
lea edx, [eax - 1]
test eax, eax
jle 0x40fce7
mov eax, dword [esp + 0x1d4]
imul eax, edx
add eax, dword [esp + 0x1c0]
mov ebp, dword [eax]
mov esi, dword [eax + 4]
test ebp, ebp
je 0x40fa19
mov dword [esp + 0x18], ebx
lea edi, [esp + 0x1c0]
cmp esi, 1
jne 0x40fcf3
cmp byte [ebp], 0x28
jne 0x40feba
mov ebx, dword [esp + 0x18]
mov eax, edi
call fcn.0040de70
jmp 0x40ee55
test esi, esi
jg 0x40feba
mov dword [esp + 0x130], 0x4250a8
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 1
lea edx, [esp + 0x130]
lea eax, [esp + 0x1d8]
call fcn.00407220
mov eax, dword [esp + 0x1c8]
lea edx, [eax - 1]
mov eax, edi
call fcn.0040de70
mov eax, dword [esp + 0x1c8]
test eax, eax
jle 0x40fef6
lea edx, [eax - 1]
mov eax, dword [esp + 0x1d4]
imul eax, edx
add eax, dword [esp + 0x1c0]
mov ebp, dword [eax]
mov esi, dword [eax + 4]
test ebp, ebp
jne 0x40fcd4
jmp 0x40fa19
xor eax, eax
lea edi, [esp + 0x238]
mov ecx, 0xa
mov dword [esp + 0x230], esi
rep stosd dword es:[edi], eax
mov edi, esp
lea edx, [esp + 0x220]
lea eax, [esp + 0x13c]
mov dword [esp + 0x220], str.err:_invalid_character__
lea esi, [esp + 0x260]
mov dword [esp + 0x224], 0x18
mov dword [esp + 0x228], 1
mov dword [esp + 0x22c], 0xfe10
mov dword [esp + 0x234], 1
mov dword [esp + 0x240], 0x425cd0
mov dword [esp + 0x244], 1
mov dword [esp + 0x248], 1
call fcn.00406730
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x17c], 0
mov dword [esp + 0x170], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x174], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x178], eax
mov eax, 0x10
call fcn.00404460
mov edx, dword [esp + 0x170]
mov ecx, 4
mov dword [esp + 0x264], 3
mov dword [esp + 0x260], eax
mov dword [eax], edx
mov edx, dword [esp + 0x174]
mov dword [esp + 0x268], eax
add eax, 0xc
mov dword [eax - 8], edx
mov edx, dword [esp + 0x178]
mov dword [eax - 4], edx
mov edx, dword [esp + 0x17c]
mov dword [eax], edx
mov dword [esp + 0x26c], eax
lea eax, [esp + 0xd0]
rep movsd dword es:[edi], dword [esi]
call fcn.0040dbd0
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd8]
call fcn.00402a30
jmp 0x40e730
lea eax, [esi + 1]
call fcn.00406b80
mov dword [esp + 8], esi
mov dword [esp + 4], ebp
mov ebx, eax
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov byte [ebx + esi], 0
mov dword [esp + 0x130], ebx
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], 0
jmp 0x40fd1c
mov ebx, dword [esp + 0x18]
lea edx, [eax - 1]
jmp 0x40fce7
xor edx, edx
xor eax, eax
lea edi, [esp + 0x274]
mov ecx, 0x13
rep stosd dword es:[edi], eax
mov dword [esp + 0x290], edx
lea eax, [esp + 0x1d8]
lea edx, [esp + 0x260]
mov dword [esp + 0x260], str.array.get:_index_out_of_range__i_
mov dword [esp + 0x264], 0x24
mov dword [esp + 0x268], 1
mov dword [esp + 0x26c], 0xfe07
mov dword [esp + 0x270], 0
mov dword [esp + 0x280], str.__a.len_
mov dword [esp + 0x284], 0xb
mov dword [esp + 0x288], 1
mov dword [esp + 0x28c], 0xfe07
mov dword [esp + 0x2a0], 0x42596c
mov dword [esp + 0x2a4], 1
mov dword [esp + 0x2a8], 1
call fcn.00409870
mov eax, dword [esp + 0x1d8]
mov edx, dword [esp + 0x1dc]
mov ecx, dword [esp + 0x1e0]
call fcn.00406a40
jne 0x40f822
fstp st(0)
fstp st(0)
mov dword [esp + 0x180], str.err:_divide_by_zero
mov eax, 0x10
mov dword [esp + 0x184], 0x13
mov dword [esp + 0x188], 1
mov dword [esp + 0x18c], 0
call fcn.00404460
mov edx, dword [esp + 0x180]
mov dword [eax], edx
mov edx, dword [esp + 0x184]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x188]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x18c]
mov dword [eax + 0xc], edx
lea edx, [eax + 0xc]
jmp 0x40f75a
mov dword [esp], 0x42d04c
call dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
push eax
jmp 0x40fc82
xor eax, eax
lea edi, [esp + 0x274]
mov ecx, 0x23
rep stosd dword es:[edi], eax
mov eax, 0x100
mov dword [esp + 0x270], ebx
lea ebx, [esp + 0x208]
mov dword [esp + 0x260], str.substr_
mov dword [esp + 0x264], 7
mov dword [esp + 0x268], 1
mov dword [esp + 0x26c], 0xfe07
mov dword [esp + 0x280], 0x425c98
mov dword [esp + 0x284], 2
mov dword [esp + 0x288], 1
mov dword [esp + 0x28c], 0xfe07
mov dword [esp + 0x290], esi
mov dword [esp + 0x2a0], str.__out_of_bounds__len
mov dword [esp + 0x2a4], 0x15
mov dword [esp + 0x2a8], 1
mov dword [esp + 0x2ac], 0xfe07
mov dword [esp + 0x2b0], 7
mov dword [esp + 0x2c0], str.__s_
mov dword [esp + 0x2c4], 5
mov dword [esp + 0x2c8], 1
mov dword [esp + 0x2cc], 0xfe10
mov dword [esp + 0x2d0], str.9623
mov dword [esp + 0x2d4], 7
mov dword [esp + 0x2d8], 1
mov dword [esp + 0x2e0], 0x4259eb
mov dword [esp + 0x2e4], 1
mov dword [esp + 0x2e8], 1
call fcn.00407a90
mov ecx, dword [esp + 0x264]
mov dword [esp + 0x20c], 0
mov dword [esp + 0x208], eax
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0x100
mov dword [esp + 0x218], 1
mov dword [esp + 0x21c], 1
test ecx, ecx
jne 0x410353
cmp dword [esp + 0x26c], 0
jne 0x410340
mov ecx, dword [esp + 0x284]
test ecx, ecx
jne 0x410429
cmp dword [esp + 0x28c], 0
jne 0x410416
mov ecx, dword [esp + 0x2a4]
test ecx, ecx
jne 0x4103f3
cmp dword [esp + 0x2ac], 0
jne 0x4103e0
mov ecx, dword [esp + 0x2c4]
test ecx, ecx
jne 0x4103bd
cmp dword [esp + 0x2cc], 0
jne 0x4103aa
mov ecx, dword [esp + 0x2e4]
test ecx, ecx
jne 0x410389
cmp dword [esp + 0x2ec], 0
jne 0x410376
mov eax, ebx
lea edx, [esp + 0x8f]
mov byte [esp + 0x8f], 0
call fcn.00408730
mov ebx, dword [esp + 0x210]
test ebx, ebx
je 0x410331
mov esi, dword [esp + 0x208]
mov eax, ebx
call fcn.00406b80
mov dword [esp + 8], ebx
mov dword [esp + 4], esi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov ecx, dword [esp + 0x210]
lea edx, [ecx - 1]
xor ecx, ecx
call fcn.00406a40
mov dword [esp], 1
mov eax, dword [esp + 0x2c]
mov esi, str.double_string.free___detected_n
mov ebx, 0x1e
call eax
mov edi, eax
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], 1
call sub.msvcrt.dll_fwrite
sub ebx, eax
add esi, eax
test ebx, ebx
jg 0x4102b6
jmp 0x40fc13
lea edi, [esp + 0x1c0]
jmp 0x40ea9b
lea edi, [esp + 0x1c0]
jmp 0x40f91a
xor edx, edx
jmp 0x40f169
fstp st(0)
mov eax, str.array.last:_array_is_empty
mov edx, 0x1a
mov ecx, 1
mov dword [esp + 0x260], str.array.last:_array_is_empty
mov dword [esp + 0x264], 0x1a
mov dword [esp + 0x268], 1
call fcn.00406a40
mov eax, 1
call fcn.00407a90
jmp 0x41028c
mov edx, ebx
lea eax, [esp + 0x260]
call fcn.004047a0
jmp 0x4101d5
mov edx, dword [esp + 0x260]
test edx, edx
je 0x4101c7
test ecx, ecx
jle 0x4101c7
mov eax, ebx
call fcn.00407350
jmp 0x4101c7
mov edx, ebx
lea eax, [esp + 0x2e0]
call fcn.004047a0
jmp 0x410249
mov edx, dword [esp + 0x2e0]
jle 0x41023b
test edx, edx
je 0x41023b
mov eax, ebx
call fcn.00407350
jmp 0x41023b
mov edx, ebx
lea eax, [esp + 0x2c0]
call fcn.004047a0
jmp 0x41022c
mov edx, dword [esp + 0x2c0]
test edx, edx
je 0x41021e
test ecx, ecx
jle 0x41021e
mov eax, ebx
call fcn.00407350
jmp 0x41021e
mov edx, ebx
lea eax, [esp + 0x2a0]
call fcn.004047a0
jmp 0x41020f
mov edx, dword [esp + 0x2a0]
test edx, edx
je 0x410201
test ecx, ecx
jle 0x410201
mov eax, ebx
call fcn.00407350
jmp 0x410201
mov edx, ebx
lea eax, [esp + 0x280]
call fcn.004047a0
jmp 0x4101f2
mov edx, dword [esp + 0x280]
test edx, edx
je 0x4101e4
test ecx, ecx
jle 0x4101e4
mov eax, ebx
call fcn.00407350
jmp 0x4101e4
call fcn.00407130
movzx eax, byte [ebx]
xor ecx, ecx
jmp 0x40ee97