Function at 0x40bd70
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45895a
mov eax, dword fs:[0]
push eax
sub esp, 0x2b8
mov eax, dword [0x477f40]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov eax, dword [ebp + 0xc]
xor ecx, ecx
mov dword [ebp - 0x14c], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x148], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], cl
movups xmmword [ebp - 0x74], xmm0
mov dword [ebp - 4], ecx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], cl
movups xmmword [ebp - 0x8c], xmm0
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], cl
mov esi, 1
mov byte [ebp - 4], 2
mov byte [ebp - 0x158], cl
mov byte [ebp - 0x136], cl
mov byte [ebp - 0x12e], cl
mov byte [ebp - 0x144], cl
mov byte [ebp - 0x135], cl
mov byte [ebp - 0x150], cl
mov byte [ebp - 0x141], cl
mov byte [ebp - 0x143], cl
mov byte [ebp - 0x142], cl
mov dword [ebp - 0x140], esi
cmp dword [ebp + 8], esi
jle 0x40c7df
mov edx, dword [eax + esi*4]
lea eax, [eax + esi*4]
mov ecx, edx
mov dword [ebp - 0x14c], eax
xorps xmm0, xmm0
mov dword [ebp - 0x4c], 0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x48], 0
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40be70
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x5c]
call fcn.004015f0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.004342a0
mov esi, eax
lea eax, [ebp - 0x5c]
cmp eax, esi
je 0x40bf05
mov ecx, dword [ebp - 0x48]
cmp ecx, 0xf
jbe 0x40bed1
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bec7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4a1
push ecx
push edx
call fcn.00435399
add esp, 8
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x5c], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x4c], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x40bf39
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40bf2f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4a1
push ecx
push edx
call fcn.00435399
add esp, 8
cmp dword [ebp - 0x48], 0xf
lea ecx, [ebp - 0x5c]
mov edx, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x4c]
seta al
cmova ecx, edx
mov byte [ebp - 0x12d], al
mov dword [ebp - 0x134], edx
cmp edi, 2
jne 0x40bfe1
mov esi, edi
mov edx, 0x45e9e8
sub esi, 4
jb 0x40bf81
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40bf86
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40bf70
cmp esi, 0xfffffffc
je 0x40bfba
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40bfb3
cmp esi, 0xfffffffd
je 0x40bfba
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40bfb3
cmp esi, 0xfffffffe
je 0x40bfba
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40bfb3
cmp esi, 0xffffffff
je 0x40bfba
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40bfba
sbb eax, eax
or eax, 1
jmp 0x40bfbc
xor eax, eax
mov edx, dword [ebp - 0x134]
test eax, eax
jne 0x40bfdb
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x141], 1
jmp 0x40c782
mov al, byte [ebp - 0x12d]
test al, al
lea ecx, [ebp - 0x5c]
cmovne ecx, edx
cmp edi, 2
jne 0x40c071
mov esi, edi
mov edx, 0x45e9ec
sub esi, 4
jb 0x40c011
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c016
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c000
cmp esi, 0xfffffffc
je 0x40c04a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c043
cmp esi, 0xfffffffd
je 0x40c04a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c043
cmp esi, 0xfffffffe
je 0x40c04a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c043
cmp esi, 0xffffffff
je 0x40c04a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c04a
sbb eax, eax
or eax, 1
jmp 0x40c04c
xor eax, eax
mov edx, dword [ebp - 0x134]
test eax, eax
jne 0x40c06b
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x143], 1
jmp 0x40c782
mov al, byte [ebp - 0x12d]
test al, al
lea ecx, [ebp - 0x5c]
cmovne ecx, edx
cmp edi, 2
jne 0x40c101
mov esi, edi
mov edx, 0x45e9f0
sub esi, 4
jb 0x40c0a1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c0a6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c090
cmp esi, 0xfffffffc
je 0x40c0da
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c0d3
cmp esi, 0xfffffffd
je 0x40c0da
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c0d3
cmp esi, 0xfffffffe
je 0x40c0da
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c0d3
cmp esi, 0xffffffff
je 0x40c0da
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c0da
sbb eax, eax
or eax, 1
jmp 0x40c0dc
xor eax, eax
mov edx, dword [ebp - 0x134]
test eax, eax
jne 0x40c0fb
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x136], 1
jmp 0x40c782
mov al, byte [ebp - 0x12d]
test al, al
lea ecx, [ebp - 0x5c]
cmovne ecx, edx
cmp edi, 2
jne 0x40c198
mov esi, edi
mov edx, 0x45e9f4
sub esi, 4
jb 0x40c131
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c136
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c120
cmp esi, 0xfffffffc
je 0x40c16a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c163
cmp esi, 0xfffffffd
je 0x40c16a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c163
cmp esi, 0xfffffffe
je 0x40c16a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c163
cmp esi, 0xffffffff
je 0x40c16a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c16a
sbb eax, eax
or eax, 1
jmp 0x40c16c
xor eax, eax
mov edx, dword [ebp - 0x134]
test eax, eax
jne 0x40c192
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x12e], 1
mov byte [ebp - 0x136], 1
jmp 0x40c782
mov al, byte [ebp - 0x12d]
test al, al
lea ecx, [ebp - 0x5c]
cmovne ecx, edx
cmp edi, 2
jne 0x40c226
mov esi, edi
mov edx, 0x45e9f8
sub esi, 4
jb 0x40c1c6
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c1cb
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c1b5
cmp esi, 0xfffffffc
je 0x40c1ff
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c1f8
cmp esi, 0xfffffffd
je 0x40c1ff
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c1f8
cmp esi, 0xfffffffe
je 0x40c1ff
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c1f8
cmp esi, 0xffffffff
je 0x40c1ff
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c1ff
sbb eax, eax
or eax, 1
jmp 0x40c201
xor eax, eax
mov edx, dword [ebp - 0x134]
test eax, eax
jne 0x40c220
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x144], 1
jmp 0x40c782
mov al, byte [ebp - 0x12d]
test al, al
lea ecx, [ebp - 0x5c]
cmovne ecx, edx
cmp edi, 2
jne 0x40c2b4
mov esi, edi
mov edx, 0x45e9fc
sub esi, 4
jb 0x40c254
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c259
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c243
cmp esi, 0xfffffffc
je 0x40c28d
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c286
cmp esi, 0xfffffffd
je 0x40c28d
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c286
cmp esi, 0xfffffffe
je 0x40c28d
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c286
cmp esi, 0xffffffff
je 0x40c28d
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c28d
sbb eax, eax
or eax, 1
jmp 0x40c28f
xor eax, eax
mov edx, dword [ebp - 0x134]
test eax, eax
jne 0x40c2ae
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x158], 1
jmp 0x40c782
mov al, byte [ebp - 0x12d]
test al, al
lea ecx, [ebp - 0x5c]
cmovne ecx, edx
cmp edi, 2
jne 0x40c342
mov esi, edi
mov edx, 0x45ea00
sub esi, 4
jb 0x40c2e2
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c2e7
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c2d1
cmp esi, 0xfffffffc
je 0x40c31b
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c314
cmp esi, 0xfffffffd
je 0x40c31b
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c314
cmp esi, 0xfffffffe
je 0x40c31b
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c314
cmp esi, 0xffffffff
je 0x40c31b
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c31b
sbb eax, eax
or eax, 1
jmp 0x40c31d
xor eax, eax
mov edx, dword [ebp - 0x134]
test eax, eax
jne 0x40c33c
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x135], 1
jmp 0x40c782
mov al, byte [ebp - 0x12d]
test al, al
lea ecx, [ebp - 0x5c]
cmovne ecx, edx
cmp edi, 2
jne 0x40c3d8
mov esi, edi
mov edx, 0x45ea04
sub esi, 4
jb 0x40c371
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c376
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c360
cmp esi, 0xfffffffc
je 0x40c3aa
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c3a3
cmp esi, 0xfffffffd
je 0x40c3aa
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c3a3
cmp esi, 0xfffffffe
je 0x40c3aa
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c3a3
cmp esi, 0xffffffff
je 0x40c3aa
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c3aa
sbb eax, eax
or eax, 1
jmp 0x40c3ac
xor eax, eax
mov edx, dword [ebp - 0x134]
test eax, eax
jne 0x40c3d2
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x150], 1
mov byte [ebp - 0x135], 1
jmp 0x40c782
mov al, byte [ebp - 0x12d]
test al, al
lea ecx, [ebp - 0x5c]
cmovne ecx, edx
cmp edi, 2
jne 0x40c466
mov esi, edi
mov edx, 0x45ea08
sub esi, 4
jb 0x40c406
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c40b
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c3f5
cmp esi, 0xfffffffc
je 0x40c43f
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c438
cmp esi, 0xfffffffd
je 0x40c43f
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c438
cmp esi, 0xfffffffe
je 0x40c43f
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c438
cmp esi, 0xffffffff
je 0x40c43f
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c43f
sbb eax, eax
or eax, 1
jmp 0x40c441
xor eax, eax
mov edx, dword [ebp - 0x134]
test eax, eax
jne 0x40c460
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x142], 1
jmp 0x40c782
mov al, byte [ebp - 0x12d]
test al, al
lea ecx, [ebp - 0x5c]
cmovne ecx, edx
cmp edi, 2
jne 0x40c50b
mov edx, 0x45ea0c
sub edi, 4
jb 0x40c492
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c497
add ecx, 4
add edx, 4
sub edi, 4
jae 0x40c481
cmp edi, 0xfffffffc
je 0x40c4cb
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c4c4
cmp edi, 0xfffffffd
je 0x40c4cb
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c4c4
cmp edi, 0xfffffffe
je 0x40c4cb
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c4c4
cmp edi, 0xffffffff
je 0x40c4cb
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c4cb
sbb eax, eax
or eax, 1
jmp 0x40c4cd
xor eax, eax
test eax, eax
jne 0x40c505
cmp dword [ebp - 0x64], eax
jne 0x40d451
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x140]
lea eax, [edi - 1]
cmp esi, eax
je 0x40d451
mov eax, dword [ebp - 0x154]
lea ecx, [ebp - 0x74]
inc esi
push dword [eax + esi*4]
call fcn.00409170
jmp 0x40c77f
mov edx, dword [ebp - 0x134]
cmp dword [ebp - 0x34], 0
jne 0x40d451
mov cl, byte [ebp - 0x12d]
lea eax, [ebp - 0x5c]
test cl, cl
cmovne eax, edx
cmp byte [eax], 0x2d
je 0x40d451
test cl, cl
lea eax, [ebp - 0x5c]
cmovne eax, edx
cmp byte [eax], 0x2b
je 0x40d451
mov eax, dword [ebp - 0x14c]
lea ecx, [ebp - 0x44]
push dword [eax]
call fcn.00409170
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
inc esi
mov dword [ebp - 0x140], esi
cmp esi, edi
jge 0x40c77f
nop word [eax + eax]
mov eax, dword [ebp - 0x154]
xorps xmm0, xmm0
movups xmmword [ebp - 0xa4], xmm0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
mov edx, dword [eax + esi*4]
mov ecx, edx
lea esi, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c5a0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0xa4]
call fcn.004015f0
cmp dword [ebp - 0x90], 0xf
lea edi, [ebp - 0xa4]
mov esi, dword [ebp - 0x94]
cmova edi, dword [ebp - 0xa4]
seta byte [ebp - 0x12d]
mov byte [ebp - 4], 4
test esi, esi
je 0x40c6f5
push esi
push 0x20
push edi
call fcn.00436e20
add esp, 0xc
test eax, eax
je 0x40c6f5
sub eax, edi
cmp eax, 0xffffffff
je 0x40c6f5
mov byte [ebp - 0x13c], 0x22
cmp esi, 0x7fffffff
je 0x40d4ab
cmp byte [ebp - 0x12d], 0
lea eax, [ebp - 0xa4]
push esi
cmovne eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x2c]
push eax
push 1
lea eax, [ebp - 0x13c]
push eax
lea eax, [ebp - 0xa4]
push eax
push dword [ebp - 0x14c]
call fcn.00402730
or dword [ebp - 0x148], 0x20
push 0x22
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00407ff0
mov esi, eax
lea eax, [ebp - 0xa4]
cmp eax, esi
je 0x40c6d8
mov ecx, dword [ebp - 0x90]
cmp ecx, 0xf
jbe 0x40c6b0
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c6a6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4a1
push ecx
push edx
call fcn.00435399
add esp, 8
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0xa4], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x94], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0xbc]
call fcn.00402fb0
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 4
call fcn.00402fb0
mov esi, dword [ebp - 0x94]
cmp dword [ebp - 0x7c], 0
je 0x40c708
push 0x20
lea ecx, [ebp - 0x8c]
call fcn.00407030
cmp dword [ebp - 0x90], 0xf
lea eax, [ebp - 0xa4]
push esi
cmova eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x8c]
push eax
call fcn.00404190
mov ecx, dword [ebp - 0x90]
mov byte [ebp - 4], 3
cmp ecx, 0xf
jbe 0x40c767
mov edx, dword [ebp - 0xa4]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c75d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4a1
push ecx
push edx
call fcn.00435399
add esp, 8
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp + 8]
inc esi
mov dword [ebp - 0x140], esi
cmp esi, edi
jl 0x40c570
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 2
cmp eax, 0xf
jbe 0x40c7b9
lea ecx, [eax + 1]
mov eax, edx
cmp ecx, 0x1000
jb 0x40c7af
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4a1
push ecx
push edx
call fcn.00435399
add esp, 8
inc esi
mov dword [ebp - 0x140], esi
cmp esi, edi
jge 0x40c7cf
mov eax, dword [ebp - 0x154]
jmp 0x40be45
cmp dword [ebp - 0x64], 0
je 0x40c7df
cmp dword [ebp - 0x34], 0
je 0x40d451
call fcn.004068d0
test eax, eax
jne 0x40d456
call fcn.00404b50
test eax, eax
jne 0x40d46c
cmp byte [ebp - 0x141], al
je 0x40c8f5
push str.Usage:_blitzcc___h_qq_c_d_kk_v_o_exefile___sourcefile.bb_
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str._h_________:_show_this_help
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str._q_________:_quiet_mode
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str.q_t_t__:_very_quiet_mode
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str._c_________:_compile_only
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str._d_________:_debug_compile
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str._k_________:_dump_keywords
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str.k_________:_dump_keywords_and_syntax
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str._v_t_t__:_version_info
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str._o_exefile_:_generate_executable
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
cmp byte [ebp - 0x135], 0
je 0x40c90d
push dword [ebp - 0x150]
push 1
push 1
call fcn.0040aa60
cmp byte [ebp - 0x142], 0
je 0x40c91b
call fcn.0040b9a0
mov ecx, dword [ebp - 0x34]
test ecx, ecx
je 0x40d0e0
mov edx, dword [ebp - 0x30]
lea eax, [ebp - 0x44]
mov esi, dword [ebp - 0x44]
cmp edx, 0xf
cmova eax, esi
cmp byte [eax], 0x22
jne 0x40c9e5
cmp ecx, 3
jb 0x40d451
cmp edx, 0xf
lea eax, [ebp - 0x44]
cmova eax, esi
cmp byte [ecx + eax - 1], 0x22
jne 0x40d451
mov dword [ebp - 0x1c], 0
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea edi, [ecx - 2]
movups xmmword [ebp - 0x2c], xmm0
cmp ecx, 1
jb 0x40d482
lea eax, [ecx - 1]
cmp eax, edi
lea ecx, [ebp - 0x2c]
cmovb edi, eax
cmp edx, 0xf
lea eax, [ebp - 0x44]
cmova eax, esi
push edi
inc eax
push eax
call fcn.004015f0
or dword [ebp - 0x148], 0x10
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x44]
call fcn.00409130
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x40c9df
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c9d5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4e4
push ecx
push edx
call fcn.00435399
add esp, 8
mov edx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x44]
push 1
cmp edx, 0xf
lea eax, [ebp - 0x44]
push 0x40
cmova eax, esi
lea ecx, [ebp - 0x2c4]
push 1
push eax
call fcn.004021b0
mov eax, dword [ebp - 0x2c4]
mov byte [ebp - 4], 8
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x2b8], 6
jne 0x40d487
cmp byte [ebp - 0x136], 0
jne 0x40caad
push 0xc
push 0x45e7c4
push 0xb
push str.BlitzCC_V
push 0x479960
call fcn.00407d60
mov ecx, eax
call fcn.00409280
push eax
call fcn.00407d60
mov ecx, eax
call fcn.00409280
push eax
call fcn.00408940
add esp, 4
push str._C_opyright_2000_2003_Blitz_Research_Ltd
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push str.Compiling__
push 0x479960
call fcn.00407d60
cmp dword [ebp - 0x30], 0xf
lea ecx, [ebp - 0x44]
push dword [ebp - 0x34]
cmova ecx, dword [ebp - 0x44]
push ecx
push eax
call fcn.004086f0
push 0x45ea2c
push eax
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
mov edi, dword [ebp - 0x30]
lea edx, [ebp - 0x44]
mov esi, dword [ebp - 0x34]
cmp edi, 0xf
cmova edx, dword [ebp - 0x44]
test esi, esi
je 0x40cae4
or ecx, 0xffffffff
lea eax, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x2f
je 0x40cadd
cmp ecx, edx
je 0x40cae4
dec ecx
cmp byte [ecx], 0x2f
jne 0x40cad3
sub ecx, edx
cmp ecx, 0xffffffff
jne 0x40cb21
cmp edi, 0xf
lea edx, [ebp - 0x44]
cmova edx, dword [ebp - 0x44]
test esi, esi
je 0x40cbd2
or ecx, 0xffffffff
lea eax, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5c
je 0x40cb16
cmp ecx, edx
je 0x40cbd2
dec ecx
cmp byte [ecx], 0x5c
jne 0x40cb08
sub ecx, edx
cmp ecx, 0xffffffff
je 0x40cbd2
mov edx, dword [ebp - 0x44]
test ecx, ecx
je 0x40cb38
cmp edi, 0xf
lea eax, [ebp - 0x44]
cmova eax, edx
cmp byte [eax + ecx - 1], 0x3a
jne 0x40cb39
inc ecx
cmp esi, ecx
mov dword [ebp - 0xac], 0
lea eax, [ebp - 0x44]
mov dword [ebp - 0xa8], 0
cmovb ecx, esi
xorps xmm0, xmm0
cmp edi, 0xf
push ecx
cmova eax, edx
lea ecx, [ebp - 0xbc]
push eax
movups xmmword [ebp - 0xbc], xmm0
call fcn.004015f0
mov edi, dword [ebp - 0x148]
lea eax, [ebp - 0xbc]
or edi, 4
cmp dword [ebp - 0xa8], 0xf
cmova eax, dword [ebp - 0xbc]
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
mov ecx, dword [ebp - 0xa8]
cmp ecx, 0xf
jbe 0x40cbd8
mov edx, dword [ebp - 0xbc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cbc6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4a1
push ecx
push edx
call fcn.00435399
add esp, 8
jmp 0x40cbd8
mov edi, dword [ebp - 0x148]
cmp byte [ebp - 0x12e], 0
mov byte [ebp - 4], 0xa
jne 0x40cbfd
push str.Parsing...
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
lea eax, [ebp - 0x2c4]
push eax
lea ecx, [ebp - 0xec]
call fcn.0040e8c0
lea eax, [ebp - 0xec]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x12c]
call fcn.00412b00
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x12c]
call fcn.004146d0
cmp byte [ebp - 0x12e], 0
mov esi, eax
mov dword [ebp - 0x150], esi
jne 0x40cc61
push str.Generating...
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
push dword [0x479724]
mov ecx, esi
call fcn.004116a0
cmp byte [ebp - 0x12e], 0
mov dword [ebp - 0x154], eax
jne 0x40cc95
push str.Translating...
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
lea ecx, [ebp - 0x20c]
call fcn.00433790
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x1d0], 0x45e9d8
mov dword [ebp - 0x1c0], 0x45e9e0
call fcn.00402420
push 0
push 0
lea eax, [ebp - 0x20c]
mov byte [ebp - 4], 0xe
or edi, 1
lea ecx, [ebp - 0x1d0]
push eax
mov dword [ebp - 0x14c], edi
call fcn.004024a0
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 4], 0xf
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_ostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_ostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1c0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x1c4], eax
mov eax, dword [ebp - 0x1d0]
mov eax, dword [eax + 4]
mov dword [ebp + eax - method.std::basic_iostream_char__struct_std::char_traits_char__.virtual_0], vtable.std::basic_iostream_char__struct_std::char_traits_char__.0
mov eax, dword [ebp - 0x1d0]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0x1d4], eax
push dword [ebp - 0x158]
lea eax, [ebp - 0x1c0]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0xb4]
call fcn.0041b900
push 0x47973c
lea eax, [ebp - 0xb4]
mov ecx, esi
push eax
call fcn.00411880
cmp byte [ebp - 0x143], 0
je 0x40cde5
lea ecx, [ebp - 0x20c]
call fcn.00434290
lea ecx, [ebp - 0x20c]
mov esi, eax
call fcn.004339a0
push esi
xorps xmm0, xmm0
mov dword [ebp - 0x1c], 0
push eax
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], 0
movups xmmword [ebp - 0x2c], xmm0
call fcn.004015f0
push 0x479960
mov byte [ebp - 4], 0x12
call fcn.00408940
add esp, 4
lea ecx, [ebp - 0x2c]
cmp dword [ebp - 0x18], 0xf
cmova ecx, dword [ebp - 0x2c]
push dword [ebp - 0x1c]
push ecx
push eax
call fcn.004086f0
push eax
call fcn.00408940
add esp, 4
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x2c]
call fcn.00402fb0
cmp byte [ebp - 0x12e], 0
jne 0x40ce06
push str.Assembling...
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
mov ecx, dword [0x479718]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
lea ecx, [ebp - 0x168]
push esi
lea eax, [ebp - 0x1d0]
push eax
call fcn.00419650
lea ecx, [ebp - 0x168]
call fcn.0041b060
lea ecx, [ebp - 0x1d0]
call fcn.00409440
lea ecx, [ebp - 0x20c]
call fcn.004338a0
mov eax, dword [ebp - 0x104]
mov byte [ebp - 4], 0xb
push dword [eax + 4]
lea eax, [ebp - 0x104]
push eax
mov ecx, eax
call fcn.004080f0
push 0x2c
push dword [ebp - 0x104]
call fcn.00435399
mov eax, dword [ebp - 0x114]
add esp, 8
push dword [eax + 4]
lea eax, [ebp - 0x114]
push eax
mov ecx, eax
call fcn.00401bf0
push 0x28
push dword [ebp - 0x114]
call fcn.00435399
mov ecx, dword [ebp - 0x118]
add esp, 8
cmp ecx, 0xf
jbe 0x40ced5
mov edx, dword [ebp - 0x12c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cecb
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4a6
push ecx
push edx
call fcn.00435399
add esp, 8
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 0x11c], 0
mov dword [ebp - 0x118], 0xf
mov byte [ebp - 0x12c], 0
mov byte [ebp - 4], 0xa
test edi, edi
je 0x40cf66
mov ecx, dword [ebp - 0xc8]
mov eax, 0x2aaaaaab
sub ecx, edi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, edi
shl ecx, 2
cmp ecx, 0x1000
jb 0x40cf3e
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4a6
push ecx
push edi
call fcn.00435399
add esp, 8
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xd4]
cmp ecx, 0xf
jbe 0x40cfa0
mov edx, dword [ebp - 0xe8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cf96
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4a6
push ecx
push edx
call fcn.00435399
add esp, 8
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0xd8], 0
mov dword [ebp - 0xd4], 0xf
mov byte [ebp - 0xe8], 0
mov dword [ebp - 4], 8
test ecx, ecx
je 0x40cfd2
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [ebp - 0x64], 0
je 0x40d0ab
cmp byte [ebp - 0x12e], 0
jne 0x40d01d
push str.Creating_executable__
push 0x479960
call fcn.00407d60
cmp dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x74]
push dword [ebp - 0x64]
cmova ecx, dword [ebp - 0x74]
push ecx
push eax
call fcn.004086f0
push str._...
push eax
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
mov ecx, dword [0x475010]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 0x10
jb 0x40d4ab
cmp dword [0x475014], 0xf
mov eax, section..data
push 0x10
cmova eax, dword [section..data]
push str._bin_runtime.dll
push ecx
push eax
push section..data
push dword [ebp - 0x14c]
lea ecx, [ebp - 0x2c]
call fcn.00402730
cmp dword [ebp - 0x60], 0xf
lea edx, [ebp - 0x74]
mov eax, dword [esi]
lea ecx, [ebp - 0x2c]
cmova edx, dword [ebp - 0x74]
cmp dword [ebp - 0x18], 0xf
mov byte [ebp - 4], 0x17
cmova ecx, dword [ebp - 0x2c]
mov eax, dword [eax + 8]
push ecx
push edx
mov ecx, esi
call eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 0x13c], al
mov byte [ebp - 4], 8
call fcn.00402fb0
cmp byte [ebp - 0x13c], 0
je 0x40d4b0
jmp 0x40d290
cmp byte [ebp - 0x144], 0
jne 0x40d290
mov eax, dword [esi]
mov ecx, esi
push dword [0x479720]
mov eax, dword [eax + 4]
call eax
mov dword [ebp - 0x14c], eax
test eax, eax
jne 0x40d1c4
lea ecx, [ebp - 0x2c4]
call fcn.00403350
mov ecx, dword [ebp - 0x78]
cmp ecx, 0xf
jbe 0x40d117
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d10d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4e4
push ecx
push edx
call fcn.00435399
add esp, 8
mov ecx, dword [ebp - 0x60]
mov byte [ebp - 0x8c], 0
mov dword [ebp - 0x78], 0xf
mov dword [ebp - 0x7c], 0
cmp ecx, 0xf
jbe 0x40d160
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d156
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4e4
push ecx
push edx
call fcn.00435399
add esp, 8
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
cmp ecx, 0xf
jbe 0x40d1a6
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d19c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4e4
push ecx
push edx
call fcn.00435399
add esp, 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004355fd
mov esp, ebp
pop ebp
ret
xor edi, edi
cmp byte [ebp - 0x158], 0
mov dword [ebp - 0x150], edi
je 0x40d23b
push str._bin_debugger.dll
push section..data
lea eax, [ebp - 0x2c]
push eax
call fcn.00408050
cmp dword [eax + 0x14], 0xf
jbe 0x40d1f4
mov eax, dword [eax]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea ecx, [ebp - 0x2c]
mov edi, eax
call fcn.00402fb0
test edi, edi
je 0x40d4ca
push str.debuggerGetDebugger
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40d4ca
push dword [ebp - 0x154]
push esi
call eax
add esp, 8
mov dword [ebp - 0x150], eax
test eax, eax
je 0x40d4ca
cmp byte [ebp - 0x12e], 0
jne 0x40d25c
push str.Executing...
push 0x479960
call fcn.00407d60
push eax
call fcn.00408940
add esp, 4
cmp dword [ebp - 0x78], 0xf
lea edx, [ebp - 0x8c]
mov ecx, dword [0x47971c]
push dword [ebp - 0x150]
cmova edx, dword [ebp - 0x8c]
push edx
mov eax, dword [ecx]
push dword [ebp - 0x14c]
call dword [eax + 0x24]
test edi, edi
je 0x40d290
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
je 0x40d29c
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov esi, dword [ebp - 0x154]
test esi, esi
je 0x40d2b8
mov ecx, esi
call fcn.0040dce0
push 0x68
push esi
call fcn.00435399
add esp, 8
call fcn.00404480
lea ecx, [ebp - 0x2c4]
call fcn.00403350
mov ecx, dword [ebp - 0x78]
cmp ecx, 0xf
jbe 0x40d2ff
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d2f5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4e4
push ecx
push edx
call fcn.00435399
add esp, 8
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
cmp ecx, 0xf
jbe 0x40d348
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d33e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4e4
push ecx
push edx
call fcn.00435399
add esp, 8
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
cmp ecx, 0xf
jbe 0x40d1a6
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d19c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d4e4
jmp 0x40d19c
call fcn.0040b950
push eax
lea ecx, [ebp - 0x2c]
call fcn.00408d30
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 6
push eax
call fcn.0040af50
push eax
lea ecx, [ebp - 0x2c]
call fcn.00408d30
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 7
push eax
call fcn.0040af50
call fcn.00404180
push str.Unable_to_open_input_file
lea ecx, [ebp - 0x2c]
call fcn.00408d30
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 9
push eax
call fcn.0040af50
call fcn.00439f5f
call fcn.00439f5f
call fcn.00404160
push str.Error_creating_executable
lea ecx, [ebp - 0x2c]
call fcn.00408d30
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
push eax
call fcn.0040af50
push str.Error_launching_debugger
lea ecx, [ebp - 0x2c]
call fcn.00408d30
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x19
push eax
call fcn.0040af50
call fcn.00439f5f
int3