Function at 0x419750
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x94
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 4], 0
mov eax, dword [eax]
mov cl, byte [eax + 0x10]
movzx edx, word [eax + 6]
mov byte [ebp - 0x22], cl
mov ecx, dword [eax + 0x34]
mov eax, dword [eax + 0x18]
test eax, eax
mov dword [ebp - 0x54], ecx
mov ecx, 0x43ed58
cmovne ecx, eax
xor eax, eax
xor ebx, ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x2c], eax
mov byte [ebp - 0x88], al
cmp byte [0x455cb8], al
jne 0x41a71f
mov ecx, dword [ebp + 8]
mov eax, 2
cmp edx, eax
push esi
cmova edx, eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x1c], edx
push edi
test eax, eax
jle 0x41984b
mov edi, eax
mov dword [ebp - 4], edi
lea esi, [edi*4]
push esi
call fcn.00424df0
push esi
mov dword [ebp - 0x48], eax
call fcn.00424df0
push esi
mov dword [ebp - 0x60], eax
call fcn.00424df0
push esi
mov dword [ebp - 0x34], eax
call fcn.00424df0
push esi
mov dword [ebp - 0x30], eax
call fcn.00424df0
push esi
mov dword [ebp - 0x50], eax
call fcn.00424df0
push esi
mov dword [ebp - 0x74], eax
call fcn.00424df0
push esi
mov dword [ebp - 0x40], eax
call fcn.00424df0
push esi
mov dword [ebp - 0x70], eax
call fcn.00424df0
push edi
mov dword [ebp - 0x7c], eax
call fcn.00424df0
push esi
mov dword [ebp - 0x4c], eax
call fcn.00424df0
push esi
mov dword [ebp - 0x78], eax
call fcn.00424df0
mov ecx, dword [ebp + 8]
add esp, 0x30
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x34]
jmp 0x419876
xor eax, eax
mov dword [ebp - 0x48], ebx
xor edx, edx
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x84], eax
xor edi, edi
cmp dword [ebp - 4], ebx
jbe 0x419907
mov ebx, dword [ebp - 0x70]
sub eax, edx
mov dword [ebp - 0x3c], eax
sub ebx, edx
mov eax, dword [ebp - 0x48]
mov esi, edx
sub eax, edx
mov dword [ebp - 0x28], eax
mov eax, dword [ecx + 0x10]
mov edx, dword [eax + edi*4]
mov ecx, edx
lea eax, [ecx + 1]
mov dword [ebp - 0x38], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4198a3
sub ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x64]
push eax
lea eax, [ebp - 0x68]
push eax
push dword [ebp - 0x54]
push ecx
push edx
call fcn.00417530
mov eax, dword [ebp - 0x3c]
add esp, 0x18
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [eax + esi]
jbe 0x4198d4
mov dword [eax + esi], ecx
mov eax, dword [ebp - 0x64]
cmp eax, dword [esi]
jbe 0x4198dd
mov dword [esi], eax
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebx + esi]
jbe 0x4198e8
mov dword [ebx + esi], edx
mov edx, dword [ebp - 0x18]
cmp eax, edx
cmova edx, eax
mov eax, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x18], edx
mov dword [eax + esi], ecx
add esi, 4
mov ecx, dword [ebp + 8]
cmp edi, dword [ebp - 4]
jb 0x419895
xor ebx, ebx
xor eax, eax
xor edi, edi
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x18]
mov edx, dword [esi]
test edx, edx
je 0x41998f
lea ebx, [ebx]
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419925
lea eax, [ebp - 0x10]
sub ecx, ebx
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x54]
push ecx
push edx
call fcn.00417530
xor edx, edx
mov ecx, dword [ebp - 0x5c]
mov eax, edi
add esp, 0x18
div dword [ebp - 4]
mov eax, dword [ebp - 0x34]
cmp ecx, dword [eax + edx*4]
jbe 0x41995c
mov dword [eax + edx*4], ecx
mov ebx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebx + edx*4]
jbe 0x41996a
mov dword [ebx + edx*4], eax
mov ebx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebx + edx*4]
jbe 0x419978
mov dword [ebx + edx*4], eax
mov eax, dword [ebp - 0x60]
add esi, 4
mov ebx, dword [ebp - 0x58]
inc edi
inc ebx
mov dword [ebp - 0x58], ebx
add dword [eax + edx*4], ecx
mov edx, dword [esi]
test edx, edx
jne 0x419920
mov edi, dword [ebp - 4]
test edi, edi
je 0x4199bf
test ebx, ebx
je 0x4199bf
xor edx, edx
mov eax, ebx
div edi
xor ecx, ecx
mov esi, eax
test edi, edi
je 0x4199bf
mov ebx, dword [ebp - 0x60]
jmp 0x4199b0
mov eax, dword [ebx + ecx*4]
xor edx, edx
div esi
mov dword [ebx + ecx*4], eax
inc ecx
cmp ecx, edi
jb 0x4199b0
mov eax, dword [ebp - 0x1c]
test ax, ax
jne 0x4199ce
mov ebx, edi
mov dword [ebp - 8], edi
jmp 0x4199ef
cmp ax, 1
jne 0x4199e3
xor eax, eax
lea ebx, [edi + edi*2]
cmp eax, edi
sbb eax, eax
neg eax
sub ebx, eax
jmp 0x4199ec
lea ebx, [edi*2 + 1]
add ebx, edi
mov dword [ebp - 8], ebx
xor ecx, ecx
mov dword [ebp - 0x14], ebx
test edi, edi
je 0x419aaf
cmp edi, 8
jb 0x419aaf
mov eax, edi
mov esi, edi
mov edi, dword [ebp - 0x34]
and eax, 7
sub esi, eax
xorps xmm3, xmm3
mov eax, dword [ebp - 0x48]
movdqa xmm4, xmm3
mov edx, edi
add eax, 0x10
sub edi, dword [ebp - 0x48]
movdqa xmm2, xmm3
movdqa xmm1, xmm4
jmp 0x419a30
movdqu xmm0, xmmword [edx]
add ecx, 8
lea edx, [edx + 0x20]
lea eax, [eax + 0x20]
paddd xmm3, xmm0
movdqu xmm0, xmmword [eax - 0x30]
paddd xmm4, xmm0
movdqu xmm0, xmmword [edi + eax - 0x20]
paddd xmm2, xmm0
movdqu xmm0, xmmword [eax - 0x20]
paddd xmm1, xmm0
cmp ecx, esi
jb 0x419a30
paddd xmm1, xmm4
paddd xmm2, xmm3
movdqa xmm0, xmm1
psrldq xmm0, 8
paddd xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
paddd xmm1, xmm0
movdqa xmm0, xmm2
psrldq xmm0, 8
paddd xmm2, xmm0
movd eax, xmm1
movdqa xmm0, xmm2
psrldq xmm0, 4
add eax, ebx
paddd xmm2, xmm0
mov dword [ebp - 0x14], eax
movd eax, xmm2
add ebx, eax
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 4]
xor esi, esi
xor edx, edx
mov dword [ebp - 0x10], esi
xor edi, edi
xor ebx, ebx
cmp ecx, eax
jae 0x419b39
sub eax, ecx
cmp eax, 2
jb 0x419b0d
mov eax, dword [ebp - 0x48]
mov esi, dword [ebp - 0x34]
lea eax, [eax + ecx*4]
add eax, 4
sub esi, dword [ebp - 0x48]
mov dword [ebp - 0x38], esi
lea ebx, [ebx]
add edi, dword [eax - 4]
lea eax, [eax + 8]
mov esi, dword [ebp - 0x34]
add ebx, dword [eax - 8]
mov dword [ebp - 0x3c], edi
mov edi, dword [ebp - 0x38]
add edx, dword [esi + ecx*4]
add ecx, 2
mov esi, dword [ebp - 0x10]
add esi, dword [eax + edi - 8]
mov edi, dword [ebp - 4]
dec edi
mov dword [ebp - 0x10], esi
cmp ecx, edi
mov edi, dword [ebp - 0x3c]
jb 0x419ae0
cmp ecx, dword [ebp - 4]
jae 0x419b2d
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 8]
add eax, dword [esi + ecx*4]
mov esi, dword [ebp - 0x48]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
add eax, dword [esi + ecx*4]
mov esi, dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
lea eax, [esi + edx]
add dword [ebp - 8], eax
lea eax, [ebx + edi]
add dword [ebp - 0x14], eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x419bb2
mov edx, dword [ebp - 0x70]
mov esi, edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x7c]
sub eax, edx
mov edi, dword [ebp - 0x40]
sub ecx, edx
mov dword [ebp - 0x3c], eax
sub edi, edx
mov dword [ebp - 0x38], ecx
lea ebx, [ebx]
mov eax, dword [eax + esi]
lea eax, [eax*8 + 8]
push eax
call fcn.00424df0
mov dword [edi + esi], eax
mov eax, dword [esi]
inc eax
push eax
call fcn.00424dd0
mov ecx, dword [ebp - 0x38]
lea esi, [esi + 4]
add esp, 8
mov dword [ecx + esi - 4], eax
mov ecx, dword [edi + esi - 4]
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c]
dec ebx
jne 0x419b60
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x419bb2
mov esi, dword [ebp - 0x34]
mov edx, ebx
mov ecx, dword [ebp - 0x30]
sub esi, ecx
mov eax, dword [esi + ecx]
lea ecx, [ecx + 4]
mov dword [ecx - 4], eax
dec edx
jne 0x419ba6
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov edi, dword [sym.imp.MSVCR120.dll__isatty]
mov dword [ebp - 0x10], esi
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
test eax, eax
jle 0x419bd1
mov ecx, eax
mov dword [ebp - 0x2c], ecx
jmp 0x419c14
call dword [sym.imp.MSVCR120.dll___iob_func]
add eax, 0x20
cmp esi, eax
jne 0x419bf8
call dword [sym.imp.MSVCR120.dll___iob_func]
add eax, 0x20
push eax
call dword [sym.imp.MSVCR120.dll__fileno]
push eax
call edi
add esp, 8
test eax, eax
jne 0x419bfe
cmp byte [ebp + 0x10], 0
je 0x419c12
mov eax, dword [ebp + 8]
xor ecx, ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
test eax, eax
cmovg ecx, eax
mov dword [ebp - 0x2c], ecx
jmp 0x419c14
xor ecx, ecx
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 8]
mov eax, dword [eax]
cmp dword [eax], 3
jne 0x419d30
test ecx, ecx
jle 0x419d30
cmp ecx, dword [ebp - 0x14]
jb 0x419d30
cmp edx, ecx
jbe 0x419d30
movsd xmm4, qword [0x43f610]
mov edi, dword [ebp - 0x30]
lea esp, [esp]
or eax, 0xffffffff
xor edx, edx
mov dword [ebp - 0x28], eax
xorps xmm3, xmm3
test ebx, ebx
je 0x419d24
mov ebx, dword [ebp - 0x48]
mov ecx, edi
mov esi, dword [ebp - 0x60]
sub ebx, edi
mov dword [ebp - 0x38], ebx
sub esi, edi
mov ebx, dword [ebp - 0x34]
sub ebx, edi
mov dword [ebp - 0x3c], ebx
lea ebx, [ebx]
mov ebx, dword [ecx + esi]
test ebx, ebx
je 0x419cf6
mov eax, dword [ebp - 0x38]
mov edi, dword [ecx]
cmp edi, dword [ecx + eax]
mov eax, dword [ebp - 0x28]
jbe 0x419cf6
movd xmm1, edi
movd xmm0, ebx
cvtdq2pd xmm1, xmm1
shr edi, 0x1f
shr ebx, 0x1f
mov eax, dword [ebp - 0x3c]
cvtdq2pd xmm0, xmm0
mov eax, dword [ecx + eax]
addsd xmm1, qword [edi*8 + 0x43f620]
addsd xmm0, qword [ebx*8 + 0x43f620]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
shr eax, 0x1f
divsd xmm1, xmm0
addsd xmm2, qword [eax*8 + 0x43f620]
mulsd xmm2, xmm4
addsd xmm2, xmm1
comisd xmm2, xmm3
jbe 0x419cf3
mov eax, edx
movapd xmm3, xmm2
mov dword [ebp - 0x28], eax
jmp 0x419cf6
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 4]
inc edx
add ecx, 4
cmp edx, ebx
jb 0x419c80
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x2c]
cmp eax, 0xffffffff
je 0x419d27
mov edi, dword [ebp - 0x30]
dec edx
mov dword [ebp - 8], edx
dec dword [edi + eax*4]
cmp edx, ecx
ja 0x419c50
jmp 0x419d27
mov edx, dword [ebp - 8]
mov esi, dword [ebp - 0x10]
mov edi, dword [sym.imp.MSVCR120.dll__isatty]
mov eax, dword [ebp + 8]
mov ebx, dword [ebp - 0x14]
mov eax, dword [eax]
cmp word [eax + 4], 2
jne 0x419d60
test ecx, ecx
jle 0x419d60
cmp ecx, ebx
jb 0x419d4b
cmp ecx, edx
jae 0x419d60
mov eax, dword [ebp + 0x10]
push eax
push esi
push dword [ebp + 8]
call fcn.004185d0
add esp, 0xc
jmp 0x41a668
mov eax, dword [ebp + 0x10]
test al, al
jne 0x419ee0
call dword [sym.imp.MSVCR120.dll___iob_func]
add eax, 0x20
cmp esi, eax
jne 0x419e1a
mov eax, dword [ebp - 0x2c]
test eax, eax
jle 0x419e1a
cmp eax, ebx
jb 0x419d94
cmp eax, dword [ebp - 8]
jae 0x419e1a
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
test eax, eax
je 0x419dff
cmp word [eax + 8], 0
je 0x419dff
call dword [sym.imp.MSVCR120.dll___iob_func]
mov esi, dword [sym.imp.MSVCR120.dll__fileno]
push eax
call esi
push eax
call edi
add esp, 8
test eax, eax
je 0x419dff
call dword [sym.imp.MSVCR120.dll___iob_func]
add eax, 0x20
push eax
call esi
push eax
call edi
add esp, 8
test eax, eax
je 0x419dff
push str.PAGER
call dword [sym.imp.MSVCR120.dll_getenv]
test eax, eax
mov ecx, str.more
push 0x42dc78
cmovne ecx, eax
push ecx
call fcn.004290d0
mov esi, eax
add esp, 0xc
mov dword [ebp - 0x10], esi
test esi, esi
jne 0x419e0b
call dword [sym.imp.MSVCR120.dll___iob_func]
lea esi, [eax + 0x20]
mov dword [ebp - 0x10], esi
mov dword [ebp + 0xc], esi
mov byte [ebp - 0x88], 1
jmp 0x419ee3
call dword [sym.imp.MSVCR120.dll___iob_func]
mov ebx, dword [ebp + 8]
add eax, 0x20
cmp esi, eax
jne 0x419ee3
mov edi, dword [ebx + 0x18]
xor esi, esi
mov edx, dword [edi]
test edx, edx
je 0x419eb9
lea ecx, [ecx]
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419e45
lea eax, [ebp - 0x90]
sub ecx, ebx
push eax
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp - 0x80]
push eax
push dword [ebp - 0x54]
push ecx
push edx
call fcn.00417530
mov eax, dword [ebp - 0x80]
add esp, 0x18
test eax, eax
jle 0x419e99
mov ecx, dword [ebp - 0x30]
mov ecx, dword [ecx + esi*4]
test ecx, ecx
je 0x419e99
dec eax
xor edx, edx
div ecx
mov ecx, dword [ebp - 0x8c]
dec ecx
add eax, ecx
mov ecx, dword [ebp - 0x20]
cmp eax, ecx
cmova ecx, eax
mov dword [ebp - 0x20], ecx
jmp 0x419e9c
mov ecx, dword [ebp - 0x20]
inc esi
cmp esi, dword [ebp - 4]
jb 0x419eac
add dword [ebp - 0x18], ecx
xor esi, esi
xor eax, eax
mov dword [ebp - 0x20], eax
mov edx, dword [edi + 4]
add edi, 4
test edx, edx
jne 0x419e40
mov ebx, dword [ebp + 8]
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp + 0xc]
push eax
push 0
push dword [ebp - 0x18]
push ebx
call fcn.00418520
mov eax, dword [ebp + 0x10]
add esp, 0x14
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x10], esi
jmp 0x419ee3
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
cmp byte [eax + 0x11], 0
je 0x41a17c
mov edx, dword [ebx + 4]
test edx, edx
je 0x419f5f
cmp byte [ebp - 0x22], 0
jne 0x41a17c
mov ecx, edx
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419f05
push 0
lea eax, [ebp - 0x94]
sub ecx, edi
push eax
lea eax, [ebp - 0x44]
push eax
push dword [ebp - 0x54]
push ecx
push edx
call fcn.00417530
mov eax, dword [ebp - 0x44]
add esp, 0x18
mov ecx, dword [ebp - 8]
push dword [ebx + 4]
cmp eax, ecx
jb 0x419f45
push 0x42b7e0
push esi
call fcn.00426490
add esp, 0xc
jmp 0x419f69
sub ecx, eax
push 0x42b69a
shr ecx, 1
push ecx
push str.__s_s_n
push esi
call fcn.00426490
add esp, 0x14
jmp 0x419f69
cmp byte [ebp - 0x22], 0
jne 0x41a17c
cmp word [ebp - 0x1c], 2
jne 0x419f86
push esi
push dword [ebp - 0xc]
push 0
push 2
push dword [ebp - 0x30]
push dword [ebp - 4]
call fcn.00419630
add esp, 0x18
xor edi, edi
cmp dword [ebp - 4], edi
jbe 0x419fd0
mov eax, dword [ebp - 0x50]
sub eax, dword [ebp - 0x40]
mov dword [ebp - 0x44], eax
mov esi, eax
mov eax, dword [ebx + 0x10]
mov edx, dword [eax + edi*4]
mov ecx, edx
lea ebx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x419fa3
mov eax, dword [ebp - 0x40]
sub ecx, ebx
lea eax, [eax + edi*4]
push dword [eax + esi]
push dword [eax]
push dword [ebp - 0x54]
push ecx
push edx
call fcn.00417380
mov ebx, dword [ebp + 8]
inc edi
add esp, 0x14
cmp edi, dword [ebp - 4]
jb 0x419f98
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 4]
mov ebx, edi
push edi
push 0
push dword [ebp - 0x4c]
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x20], 0
call sub.MSVCR120.dll_memset
add esp, 0xc
test edi, edi
je 0x41a164
cmp word [ebp - 0x1c], 2
jne 0x41a00c
mov eax, dword [ebp - 0xc]
push esi
push dword [eax + 0x38]
call dword [sym.imp.MSVCR120.dll_fputs]
add esp, 8
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [eax + 8], edi
jbe 0x41a133
mov ebx, dword [ebp - 0x30]
mov eax, ebx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x20]
sub ecx, ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x44], ecx
lea ecx, [ecx]
mov ebx, dword [ecx + eax]
lea ecx, [edx*8]
add ebx, ecx
cmp word [ebp - 0x1c], 0
mov ecx, dword [ebp - 0xc]
jne 0x41a050
cmp byte [ecx + 0x68], 0
jne 0x41a06c
test edi, edi
je 0x41a06c
test edx, edx
je 0x41a059
mov eax, dword [ecx + 0x50]
jmp 0x41a05e
mov eax, 0x42ee00
push esi
push eax
call dword [sym.imp.MSVCR120.dll_fputs]
mov eax, dword [ebp - 0x28]
add esp, 8
mov ecx, dword [ebp - 0x4c]
push 0x42b69a
cmp byte [edi + ecx], 0
jne 0x41a0b3
mov ecx, dword [eax]
sub ecx, dword [ebx + 4]
lea eax, [ecx + 1]
shr ecx, 1
shr eax, 1
push eax
push dword [ebx]
push 0x42b69a
push ecx
push str.__s_s__s
push esi
call fcn.00426490
mov ecx, dword [ebp - 0x4c]
add esp, 0x1c
cmp dword [ebx + 8], 0
mov ebx, dword [ebp - 0x18]
jne 0x41a0c9
dec ebx
mov byte [edi + ecx], 1
mov dword [ebp - 0x18], ebx
jmp 0x41a0c9
push dword [eax]
push 0x43efbc
push esi
call fcn.00426490
mov ebx, dword [ebp - 0x18]
add esp, 0x10
mov ecx, dword [ebp - 0x4c]
cmp word [ebp - 0x1c], 0
mov eax, dword [ebp - 0xc]
jne 0x41a0d9
cmp byte [eax + 0x68], 0
je 0x41a117
cmp byte [edi + ecx], 0
jne 0x41a0e4
mov eax, dword [eax + 0x54]
jmp 0x41a0e9
mov eax, 0x42ee00
push esi
push eax
call dword [sym.imp.MSVCR120.dll_fputs]
add esp, 8
cmp word [ebp - 0x1c], 0
je 0x41a117
mov eax, dword [ebp - 4]
test eax, eax
je 0x41a117
dec eax
cmp edi, eax
jae 0x41a117
mov eax, dword [ebp - 0xc]
push esi
push dword [eax + 0x3c]
call dword [sym.imp.MSVCR120.dll_fputs]
add esp, 8
mov ecx, dword [ebp + 8]
inc edi
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x28], eax
cmp edi, dword [ecx + 8]
mov ecx, dword [ebp - 0x44]
jb 0x41a030
inc dword [ebp - 0x20]
cmp word [ebp - 0x1c], 2
jne 0x41a14d
mov eax, dword [ebp - 0xc]
push esi
push dword [eax + 0x40]
call dword [sym.imp.MSVCR120.dll_fputs]
add esp, 8
push esi
push 0xa
call dword [sym.imp.MSVCR120.dll_fputc]
add esp, 8
test ebx, ebx
jne 0x419ff5
mov edi, dword [ebp - 4]
mov ebx, dword [ebp - 0xc]
push esi
push ebx
push 1
push dword [ebp - 0x1c]
push dword [ebp - 0x30]
push edi
call fcn.00419630
add esp, 0x18
jmp 0x41a182
mov ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 4]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x38], edx
cmp dword [edx], 0
je 0x41a5ba
jmp 0x41a1a0
cmp byte [0x455cb8], 0
jne 0x41a5b1
test edi, edi
je 0x41a219
mov eax, dword [ebp - 0x50]
mov esi, edx
mov ecx, dword [ebp - 0x40]
mov ebx, edi
sub eax, ecx
mov dword [ebp - 0x8c], eax
mov eax, edx
neg eax
add ecx, eax
add eax, dword [ebp - 0x74]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x80], eax
mov edx, dword [esi]
mov ecx, edx
lea edi, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41a1e0
mov eax, dword [ebp - 0x44]
sub ecx, edi
mov edi, dword [ebp - 0x8c]
add eax, esi
push dword [eax + edi]
push dword [eax]
push dword [ebp - 0x54]
push ecx
push edx
call fcn.00417380
mov eax, dword [ebp - 0x80]
add esp, 0x14
mov dword [eax + esi], 0
add esi, 4
dec ebx
jne 0x41a1d2
mov edi, dword [ebp - 4]
lea eax, [edi*4]
push eax
push 0
push dword [ebp - 0x78]
call sub.MSVCR120.dll_memset
mov esi, dword [ebp + 0xc]
add esp, 0xc
mov dword [ebp - 0x10], esi
cmp word [ebp - 0x1c], 2
mov byte [ebp - 0x2c], 0
jne 0x41a24f
mov eax, dword [ebp - 0xc]
push esi
push dword [eax + 0x38]
call dword [sym.imp.MSVCR120.dll_fputs]
add esp, 8
xor ecx, ecx
mov dword [ebp - 0x14], ecx
test edi, edi
je 0x41a56a
mov edi, dword [ebp - 0x84]
mov ebx, edi
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x78]
sub eax, edx
sub edx, edi
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x44], edx
sub eax, edi
mov edx, dword [ebp - 0x40]
sub edx, edi
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x28], eax
mov dword [ebp - 8], edx
mov eax, dword [eax + ebx]
mov edi, dword [ebp - 0x44]
mov dword [ebp - 0x20], eax
add edi, ebx
cmp word [ebp - 0x1c], 2
mov eax, dword [edx + ebx]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x64], edi
mov edx, dword [edi + eax]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x3c], edx
je 0x41a2c0
mov eax, dword [ebp - 4]
test eax, eax
je 0x41a2ba
dec eax
cmp ecx, eax
jb 0x41a2c0
mov byte [ebp - 0x21], 0
jmp 0x41a2c4
mov byte [ebp - 0x21], 1
cmp word [ebp - 0x1c], 0
je 0x41a302
mov eax, dword [ebx]
push esi
cmp eax, 1
jne 0x41a2e1
mov eax, dword [ebp - 0xc]
push dword [eax + 0x60]
call dword [sym.imp.MSVCR120.dll_fputs]
jmp 0x41a2fc
cmp eax, 2
jne 0x41a2f4
mov eax, dword [ebp - 0xc]
push dword [eax + 0x58]
call dword [sym.imp.MSVCR120.dll_fputs]
jmp 0x41a2fc
push 0x20
call dword [sym.imp.MSVCR120.dll_fputc]
mov edx, dword [ebp - 0x18]
add esp, 8
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + ecx*8]
test ecx, ecx
jne 0x41a331
cmp byte [ebp - 0x21], cl
je 0x41a425
push 0x42b69a
push edx
push 0x43efbc
push esi
call fcn.00426490
add esp, 0x10
jmp 0x41a425
push dword [ebp - 0x54]
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [edi]
add eax, ecx
push eax
call fcn.004184b0
mov ecx, dword [ebp + 8]
mov ebx, eax
mov eax, dword [ebp - 0x68]
add esp, 0xc
mov dword [ebp - 0x6c], ebx
mov ecx, dword [ecx + 0x30]
mov edx, dword [edi + eax]
mov eax, dword [ebp - 0x3c]
cmp eax, edx
mov edi, dword [ebp - 0x14]
cmova eax, edx
mov dword [ebp - 0x18], eax
cmp byte [edi + ecx], 0x72
jne 0x41a3a8
push 0x42b69a
sub edx, eax
push edx
push 0x43efbc
push esi
call fcn.00426490
mov eax, dword [ebp - 0x20]
add esp, 0x10
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ecx + eax*8]
mov eax, dword [ebp - 0x64]
add edi, dword [eax]
test ebx, ebx
jbe 0x41a3d4
movsx eax, byte [edi]
push esi
push eax
call dword [sym.imp.MSVCR120.dll_fputc]
add esp, 8
lea edi, [edi + 1]
dec ebx
jne 0x41a392
jmp 0x41a3d4
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x5c]
mov edi, dword [ecx + eax*8]
mov eax, dword [ebp - 0x64]
add edi, dword [eax]
cmp dword [ebp - 0x6c], 0
jbe 0x41a3d4
lea esp, [esp]
movsx eax, byte [edi]
push esi
push eax
call dword [sym.imp.MSVCR120.dll_fputc]
add esp, 8
lea edi, [edi + 1]
dec ebx
jne 0x41a3c0
mov edi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x20]
mov ebx, dword [ebp - 0x6c]
add dword [edi], ebx
mov ecx, dword [edi]
mov eax, dword [edx + eax*8]
mov ebx, dword [ebp - 0x58]
mov edx, dword [ebp - 8]
cmp byte [ecx + eax], 0
je 0x41a3f9
mov byte [ebp - 0x2c], 1
jmp 0x41a428
mov eax, dword [ebp - 0x28]
inc dword [eax + ebx]
mov ecx, dword [eax + ebx]
mov eax, dword [edx + ebx]
mov edx, dword [ebp - 0x2c]
movzx edx, dl
mov dword [ebp - 0x2c], edx
cmp dword [eax + ecx*8], 0
mov eax, edx
mov ecx, 1
mov dword [edi], 0
cmovne eax, ecx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 8]
mov ecx, dword [ebp - 0x28]
mov dword [ebx], 0
mov eax, dword [edx + ebx]
mov ecx, dword [ecx + ebx]
cmp dword [eax + ecx*8], 0
je 0x41a454
cmp dword [edi], 0
je 0x41a44a
mov dword [ebx], 1
jmp 0x41a454
test ecx, ecx
je 0x41a454
mov dword [ebx], 2
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + 0x30]
cmp byte [ecx + eax], 0x72
je 0x41a495
cmp byte [ebp - 0x21], 0
jne 0x41a475
mov eax, dword [ebx]
cmp eax, 1
je 0x41a475
cmp eax, 2
jne 0x41a495
mov eax, dword [ebp - 0x68]
push 0x42b69a
mov eax, dword [edi + eax]
sub eax, dword [ebp - 0x18]
push eax
push 0x43efbc
push esi
call fcn.00426490
mov ecx, dword [ebp - 0x14]
add esp, 0x10
mov eax, dword [ebx]
cmp eax, 1
jne 0x41a4b3
mov eax, dword [ebp - 0xc]
mov edi, dword [sym.imp.MSVCR120.dll_fputs]
push esi
push dword [eax + 0x64]
call edi
mov eax, dword [ebp - 4]
add esp, 8
jmp 0x41a4f7
cmp eax, 2
jne 0x41a4cf
mov eax, dword [ebp - 0xc]
mov edi, dword [sym.imp.MSVCR120.dll_fputs]
push esi
push dword [eax + 0x5c]
call edi
mov eax, dword [ebp - 4]
add esp, 8
jmp 0x41a4f7
cmp word [ebp - 0x1c], 2
je 0x41a4e2
mov eax, dword [ebp - 4]
test eax, eax
je 0x41a4f1
dec eax
cmp ecx, eax
jae 0x41a4ee
push esi
push 0x20
call dword [sym.imp.MSVCR120.dll_fputc]
add esp, 8
mov eax, dword [ebp - 4]
mov edi, dword [sym.imp.MSVCR120.dll_fputs]
cmp word [ebp - 0x1c], 0
je 0x41a54a
test eax, eax
je 0x41a54a
dec eax
cmp dword [ebp - 0x14], eax
jae 0x41a54a
mov eax, dword [ebx + 4]
push esi
cmp eax, 1
jne 0x41a519
mov eax, dword [ebp - 0xc]
push dword [eax + 0x48]
jmp 0x41a545
cmp eax, 2
jne 0x41a526
mov eax, dword [ebp - 0xc]
push dword [eax + 0x44]
jmp 0x41a545
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax + ebx + 4]
mov eax, dword [ebp - 8]
mov eax, dword [eax + ebx + 4]
cmp dword [eax + ecx*8], 0
mov eax, dword [ebp - 0xc]
jne 0x41a542
push dword [eax + 0x4c]
jmp 0x41a545
push dword [eax + 0x3c]
call edi
add esp, 8
mov eax, dword [ebp - 0x14]
add ebx, 4
mov edi, dword [ebp - 4]
inc eax
mov edx, dword [ebp - 8]
cmp eax, edi
mov dword [ebp - 0x14], eax
mov ecx, eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x58], ebx
jb 0x41a287
cmp word [ebp - 0x1c], 2
mov ebx, dword [ebp - 0xc]
jne 0x41a581
push esi
push dword [ebx + 0x40]
call dword [sym.imp.MSVCR120.dll_fputs]
add esp, 8
push esi
push 0xa
call dword [sym.imp.MSVCR120.dll_fputc]
add esp, 8
cmp byte [ebp - 0x2c], 0
jne 0x41a234
mov edx, dword [ebp - 0x38]
lea eax, [edi*4]
add edx, eax
mov dword [ebp - 0x38], edx
cmp dword [edx], 0
jne 0x41a1a0
jmp 0x41a5b7
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], esi
mov ecx, dword [ebp + 8]
mov eax, dword [ecx]
cmp byte [eax + 0x12], 0
je 0x41a668
mov edi, dword [ecx + 0x28]
test edi, edi
jne 0x41a602
cmp byte [eax + 0x13], 0
je 0x41a602
mov eax, dword [eax + 0x14]
add eax, dword [ecx + 0xc]
push eax
push eax
push str.__lu_rows_
push str.__lu_row_
call sub.libintl_8.dll_libintl_ngettext
add esp, 0xc
push eax
push 0x64
push 0x455cc0
call fcn.004262e0
add esp, 0x10
mov edi, 0x45594c
cmp word [ebp - 0x1c], 2
jne 0x41a62c
cmp byte [0x455cb8], 0
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], esi
jne 0x41a62c
push esi
push ebx
push 2
push 2
push dword [ebp - 0x30]
push dword [ebp - 4]
call fcn.00419630
add esp, 0x18
test edi, edi
je 0x41a65c
cmp byte [ebp - 0x22], 0
jne 0x41a65c
cmp byte [0x455cb8], 0
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0x10], esi
jne 0x41a65c
push dword [edi]
push 0x42b7e0
push esi
call fcn.00426490
mov edi, dword [edi + 4]
add esp, 0xc
test edi, edi
jne 0x41a645
push esi
push 0xa
call dword [sym.imp.MSVCR120.dll_fputc]
add esp, 8
cmp dword [ebp - 4], 0
mov edi, dword [sym.imp.MSVCR120.dll_free]
jbe 0x41a697
mov esi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x7c]
sub esi, ebx
lea esp, [esp]
push dword [esi + ebx]
call edi
push dword [ebx]
call edi
add esp, 8
lea ebx, [ebx + 4]
dec dword [ebp - 4]
jne 0x41a680
mov esi, dword [ebp - 0x10]
push dword [ebp - 0x48]
call edi
push dword [ebp - 0x60]
call edi
push dword [ebp - 0x34]
call edi
push dword [ebp - 0x30]
call edi
push dword [ebp - 0x50]
call edi
push dword [ebp - 0x74]
call edi
push dword [ebp - 0x40]
call edi
push dword [ebp - 0x70]
call edi
push dword [ebp - 0x7c]
call edi
push dword [ebp - 0x4c]
call edi
push dword [ebp - 0x78]
call edi
push dword [ebp - 0x84]
call edi
add esp, 0x30
cmp byte [ebp - 0x88], 0
je 0x41a71d
test esi, esi
je 0x41a71d
call dword [sym.imp.MSVCR120.dll___iob_func]
add eax, 0x20
cmp esi, eax
je 0x41a71d
cmp byte [0x455cb8], 0
mov esi, dword [ebp + 0xc]
je 0x41a713
push str.Interrupted_n
call sub.libintl_8.dll_libintl_gettext
push eax
push esi
call fcn.00426490
add esp, 0xc
push esi
call dword [sym.imp.MSVCR120.dll__pclose]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret