Function at 0x40bf50
Capabilities:
Set current directory

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x45929a
mov eax, dword fs:[0]
push eax
sub esp, 0x2c0
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 - 0x154], ecx
xorps xmm0, xmm0
movups xmmword [ebp - 0x5c], xmm0
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], 0xf
mov byte [ebp - 0x5c], 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 - 0x160], cl
mov byte [ebp - 0x13e], cl
mov byte [ebp - 0x135], cl
mov byte [ebp - 0x14c], cl
mov byte [ebp - 0x13d], cl
mov byte [ebp - 0x158], cl
mov byte [ebp - 0x149], cl
mov byte [ebp - 0x14b], cl
mov byte [ebp - 0x14a], cl
mov dword [ebp - 0x148], esi
cmp dword [ebp + 8], esi
jle 0x40c927
mov edx, dword [eax + esi*4]
lea eax, [eax + esi*4]
mov ecx, edx
mov dword [ebp - 0x154], eax
xorps xmm0, xmm0
mov dword [ebp - 0x34], 0
movups xmmword [ebp - 0x44], xmm0
mov dword [ebp - 0x30], 0
lea esi, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40c050
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x44]
call fcn.004015f0
lea eax, [ebp - 0x44]
mov byte [ebp - 4], 3
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00434a60
mov esi, eax
lea eax, [ebp - 0x44]
cmp eax, esi
je 0x40c0e5
mov ecx, dword [ebp - 0x30]
cmp ecx, 0xf
jbe 0x40c0b1
mov edx, dword [ebp - 0x44]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c0a7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d5e2
push ecx
push edx
call fcn.00435b53
add esp, 8
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 0xf
mov byte [ebp - 0x44], 0
movups xmm0, xmmword [esi]
movups xmmword [ebp - 0x44], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [ebp - 0x34], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x40c119
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c10f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d5e2
push ecx
push edx
call fcn.00435b53
add esp, 8
mov esi, dword [ebp - 0x30]
lea ecx, [ebp - 0x44]
mov edx, dword [ebp - 0x44]
cmp esi, 0xf
mov edi, dword [ebp - 0x34]
cmova ecx, edx
mov dword [ebp - 0x13c], edx
cmp edi, 2
jne 0x40c1b0
mov esi, edi
mov edx, 0x45e9ec
sub esi, 4
jb 0x40c153
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c158
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c142
cmp esi, 0xfffffffc
je 0x40c18c
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c185
cmp esi, 0xfffffffd
je 0x40c18c
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c185
cmp esi, 0xfffffffe
je 0x40c18c
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c185
cmp esi, 0xffffffff
je 0x40c18c
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c18c
sbb eax, eax
or eax, 1
jmp 0x40c18e
xor eax, eax
mov edx, dword [ebp - 0x13c]
test eax, eax
jne 0x40c1ad
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x149], 1
jmp 0x40c8cc
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
lea ecx, [ebp - 0x44]
cmova ecx, edx
cmp edi, 2
jne 0x40c23e
mov esi, edi
mov edx, 0x45e9f0
sub esi, 4
jb 0x40c1e1
nop
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c1e6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c1d0
cmp esi, 0xfffffffc
je 0x40c21a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c213
cmp esi, 0xfffffffd
je 0x40c21a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c213
cmp esi, 0xfffffffe
je 0x40c21a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c213
cmp esi, 0xffffffff
je 0x40c21a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c21a
sbb eax, eax
or eax, 1
jmp 0x40c21c
xor eax, eax
mov edx, dword [ebp - 0x13c]
test eax, eax
jne 0x40c23b
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x14b], 1
jmp 0x40c8cc
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
lea ecx, [ebp - 0x44]
cmova ecx, edx
cmp edi, 2
jne 0x40c2c6
mov esi, edi
mov edx, 0x45e9f4
sub esi, 4
jb 0x40c269
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c26e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c258
cmp esi, 0xfffffffc
je 0x40c2a2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c29b
cmp esi, 0xfffffffd
je 0x40c2a2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c29b
cmp esi, 0xfffffffe
je 0x40c2a2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c29b
cmp esi, 0xffffffff
je 0x40c2a2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c2a2
sbb eax, eax
or eax, 1
jmp 0x40c2a4
xor eax, eax
mov edx, dword [ebp - 0x13c]
test eax, eax
jne 0x40c2c3
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x13e], 1
jmp 0x40c8cc
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
lea ecx, [ebp - 0x44]
cmova ecx, edx
cmp edi, 2
jne 0x40c359
mov esi, edi
mov edx, 0x45e9f8
sub esi, 4
jb 0x40c2f5
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c2fa
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c2e4
cmp esi, 0xfffffffc
je 0x40c32e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c327
cmp esi, 0xfffffffd
je 0x40c32e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c327
cmp esi, 0xfffffffe
je 0x40c32e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c327
cmp esi, 0xffffffff
je 0x40c32e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c32e
sbb eax, eax
or eax, 1
jmp 0x40c330
xor eax, eax
mov edx, dword [ebp - 0x13c]
test eax, eax
jne 0x40c356
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x135], 1
mov byte [ebp - 0x13e], 1
jmp 0x40c8cc
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
lea ecx, [ebp - 0x44]
cmova ecx, edx
cmp edi, 2
jne 0x40c3e1
mov esi, edi
mov edx, 0x45e9fc
sub esi, 4
jb 0x40c384
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c389
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c373
cmp esi, 0xfffffffc
je 0x40c3bd
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c3b6
cmp esi, 0xfffffffd
je 0x40c3bd
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c3b6
cmp esi, 0xfffffffe
je 0x40c3bd
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c3b6
cmp esi, 0xffffffff
je 0x40c3bd
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c3bd
sbb eax, eax
or eax, 1
jmp 0x40c3bf
xor eax, eax
mov edx, dword [ebp - 0x13c]
test eax, eax
jne 0x40c3de
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x14c], 1
jmp 0x40c8cc
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
lea ecx, [ebp - 0x44]
cmova ecx, edx
cmp edi, 2
jne 0x40c46e
mov esi, edi
mov edx, 0x45ea00
sub esi, 4
jb 0x40c411
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c416
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c400
cmp esi, 0xfffffffc
je 0x40c44a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c443
cmp esi, 0xfffffffd
je 0x40c44a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c443
cmp esi, 0xfffffffe
je 0x40c44a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c443
cmp esi, 0xffffffff
je 0x40c44a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c44a
sbb eax, eax
or eax, 1
jmp 0x40c44c
xor eax, eax
mov edx, dword [ebp - 0x13c]
test eax, eax
jne 0x40c46b
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x160], 1
jmp 0x40c8cc
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
lea ecx, [ebp - 0x44]
cmova ecx, edx
cmp edi, 2
jne 0x40c4f6
mov esi, edi
mov edx, 0x45ea04
sub esi, 4
jb 0x40c499
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c49e
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c488
cmp esi, 0xfffffffc
je 0x40c4d2
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c4cb
cmp esi, 0xfffffffd
je 0x40c4d2
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c4cb
cmp esi, 0xfffffffe
je 0x40c4d2
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c4cb
cmp esi, 0xffffffff
je 0x40c4d2
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c4d2
sbb eax, eax
or eax, 1
jmp 0x40c4d4
xor eax, eax
mov edx, dword [ebp - 0x13c]
test eax, eax
jne 0x40c4f3
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x13d], 1
jmp 0x40c8cc
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
lea ecx, [ebp - 0x44]
cmova ecx, edx
cmp edi, 2
jne 0x40c589
mov esi, edi
mov edx, 0x45ea08
sub esi, 4
jb 0x40c525
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c52a
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c514
cmp esi, 0xfffffffc
je 0x40c55e
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c557
cmp esi, 0xfffffffd
je 0x40c55e
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c557
cmp esi, 0xfffffffe
je 0x40c55e
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c557
cmp esi, 0xffffffff
je 0x40c55e
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c55e
sbb eax, eax
or eax, 1
jmp 0x40c560
xor eax, eax
mov edx, dword [ebp - 0x13c]
test eax, eax
jne 0x40c586
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x158], 1
mov byte [ebp - 0x13d], 1
jmp 0x40c8cc
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
lea ecx, [ebp - 0x44]
cmova ecx, edx
cmp edi, 2
jne 0x40c611
mov esi, edi
mov edx, 0x45ea0c
sub esi, 4
jb 0x40c5b4
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c5b9
add ecx, 4
add edx, 4
sub esi, 4
jae 0x40c5a3
cmp esi, 0xfffffffc
je 0x40c5ed
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c5e6
cmp esi, 0xfffffffd
je 0x40c5ed
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c5e6
cmp esi, 0xfffffffe
je 0x40c5ed
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c5e6
cmp esi, 0xffffffff
je 0x40c5ed
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c5ed
sbb eax, eax
or eax, 1
jmp 0x40c5ef
xor eax, eax
mov edx, dword [ebp - 0x13c]
test eax, eax
jne 0x40c60e
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
mov byte [ebp - 0x14a], 1
jmp 0x40c8cc
mov esi, dword [ebp - 0x30]
cmp esi, 0xf
lea ecx, [ebp - 0x44]
cmova ecx, edx
cmp edi, 2
jne 0x40c6ba
mov edx, 0x45ea10
sub edi, 4
jb 0x40c641
nop dword [eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x40c646
add ecx, 4
add edx, 4
sub edi, 4
jae 0x40c630
cmp edi, 0xfffffffc
je 0x40c67a
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x40c673
cmp edi, 0xfffffffd
je 0x40c67a
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x40c673
cmp edi, 0xfffffffe
je 0x40c67a
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x40c673
cmp edi, 0xffffffff
je 0x40c67a
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x40c67a
sbb eax, eax
or eax, 1
jmp 0x40c67c
xor eax, eax
test eax, eax
jne 0x40c6b4
cmp dword [ebp - 0x64], eax
jne 0x40d592
mov edi, dword [ebp + 8]
mov esi, dword [ebp - 0x148]
lea eax, [edi - 1]
cmp esi, eax
je 0x40d592
mov eax, dword [ebp - 0x15c]
lea ecx, [ebp - 0x74]
inc esi
push dword [eax + esi*4]
call fcn.00409140
jmp 0x40c8c9
mov edx, dword [ebp - 0x13c]
cmp dword [ebp - 0x4c], 0
jne 0x40d592
cmp esi, 0xf
lea eax, [ebp - 0x44]
cmova eax, edx
cmp byte [eax], 0x2d
je 0x40d592
cmp esi, 0xf
lea eax, [ebp - 0x44]
cmova eax, edx
cmp byte [eax], 0x2b
je 0x40d592
mov eax, dword [ebp - 0x154]
lea ecx, [ebp - 0x5c]
push dword [eax]
call fcn.00409140
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
inc esi
mov dword [ebp - 0x148], esi
cmp esi, edi
jge 0x40c8c9
mov eax, dword [ebp - 0x15c]
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 0x40c740
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]
mov byte [ebp - 4], 4
test esi, esi
je 0x40c86e
push esi
push 0x20
push edi
call fcn.00437740
add esp, 0xc
test eax, eax
je 0x40c86e
sub eax, edi
cmp eax, 0xffffffff
je 0x40c86e
mov byte [ebp - 0x144], 0x22
cmp esi, 0x7fffffff
je 0x40d5ec
cmp dword [ebp - 0x90], 0xf
lea eax, [ebp - 0xa4]
push esi
cmova eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x2c]
push eax
push 1
lea eax, [ebp - 0x144]
push eax
lea eax, [ebp - 0xa4]
push eax
push dword [ebp - 0x154]
call fcn.00402730
or dword [ebp - 0x150], 0x20
push 0x22
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 5
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00407fc0
mov esi, eax
lea eax, [ebp - 0xa4]
cmp eax, esi
je 0x40c851
mov eax, dword [ebp - 0x90]
cmp eax, 0xf
jbe 0x40c829
push eax
push dword [ebp - 0xa4]
lea eax, [ebp - 0xa4]
push eax
call fcn.004095e0
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 0x40c881
push 0x20
lea ecx, [ebp - 0x8c]
call fcn.00406fb0
cmp dword [ebp - 0x90], 0xf
lea eax, [ebp - 0xa4]
push esi
cmova eax, dword [ebp - 0xa4]
lea ecx, [ebp - 0x8c]
push eax
call fcn.00404150
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 3
call fcn.00402fb0
mov esi, dword [ebp - 0x148]
mov edi, dword [ebp + 8]
inc esi
mov dword [ebp - 0x148], esi
cmp esi, edi
jl 0x40c710
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
mov byte [ebp - 4], 2
cmp ecx, 0xf
jbe 0x40c901
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40c8f7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d5e2
push ecx
push edx
call fcn.00435b53
add esp, 8
inc esi
mov dword [ebp - 0x148], esi
cmp esi, edi
jge 0x40c917
mov eax, dword [ebp - 0x15c]
jmp 0x40c025
cmp dword [ebp - 0x64], 0
je 0x40c927
cmp dword [ebp - 0x4c], 0
je 0x40d592
call fcn.00406880
test eax, eax
jne 0x40d597
call fcn.00404b10
test eax, eax
jne 0x40d5ad
cmp byte [ebp - 0x149], al
je 0x40ca3d
push str.Usage:_blitzcc___h_qq_c_d_kk_v_o_exefile___sourcefile.bb_
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str._h_________:_show_this_help
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str._q_________:_quiet_mode
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str.q_t_t__:_very_quiet_mode
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str._c_________:_compile_only
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str._d_________:_debug_compile
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str._k_________:_dump_keywords
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str.k_________:_dump_keywords_and_syntax
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str._v_t_t__:_version_info
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str._o_exefile_:_generate_executable
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
cmp byte [ebp - 0x13d], 0
je 0x40ca55
push dword [ebp - 0x158]
push 1
push 1
call fcn.0040aa60
cmp byte [ebp - 0x14a], 0
je 0x40ca63
call fcn.0040b9a0
mov ecx, dword [ebp - 0x4c]
test ecx, ecx
je 0x40d225
mov edx, dword [ebp - 0x48]
lea eax, [ebp - 0x5c]
mov esi, dword [ebp - 0x5c]
cmp edx, 0xf
cmova eax, esi
cmp byte [eax], 0x22
jne 0x40cb2d
cmp ecx, 3
jb 0x40d592
cmp edx, 0xf
lea eax, [ebp - 0x5c]
cmova eax, esi
cmp byte [ecx + eax - 1], 0x22
jne 0x40d592
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 0x40d5c3
lea eax, [ecx - 1]
cmp eax, edi
lea ecx, [ebp - 0x2c]
cmovb edi, eax
cmp edx, 0xf
lea eax, [ebp - 0x5c]
cmova eax, esi
push edi
inc eax
push eax
call fcn.004015f0
or dword [ebp - 0x150], 0x10
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x5c]
call fcn.00409100
mov ecx, dword [ebp - 0x18]
cmp ecx, 0xf
jbe 0x40cb27
mov edx, dword [ebp - 0x2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cb1d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d625
push ecx
push edx
call fcn.00435b53
add esp, 8
mov edx, dword [ebp - 0x48]
mov esi, dword [ebp - 0x5c]
push 1
cmp edx, 0xf
lea eax, [ebp - 0x5c]
push 0x40
cmova eax, esi
lea ecx, [ebp - 0x2cc]
push 1
push eax
call fcn.004021b0
mov eax, dword [ebp - 0x2cc]
mov byte [ebp - 4], 8
mov eax, dword [eax + 4]
test byte [ebp + eax - 0x2c0], 6
jne 0x40d5c8
cmp byte [ebp - 0x13e], 0
jne 0x40cbf5
push 0x76
push 0x45e7ac
push 1
push str.BlitzCC_V
push 0x479960
call fcn.00407d20
mov ecx, eax
call fcn.00409250
push eax
call fcn.00407d20
mov ecx, eax
call fcn.00409250
push eax
call fcn.00408910
add esp, 4
push str._C_opyright_2000_2003_Blitz_Research_Ltd
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push str.Compiling__
push 0x479960
call fcn.00407d20
cmp dword [ebp - 0x48], 0xf
lea ecx, [ebp - 0x5c]
push dword [ebp - 0x4c]
cmova ecx, dword [ebp - 0x5c]
push ecx
push eax
call fcn.004086c0
push 0x45ea30
push eax
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
mov edi, dword [ebp - 0x48]
lea edx, [ebp - 0x5c]
mov esi, dword [ebp - 0x4c]
cmp edi, 0xf
cmova edx, dword [ebp - 0x5c]
test esi, esi
je 0x40cc31
or ecx, 0xffffffff
lea eax, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x2f
je 0x40cc2a
nop dword [eax + eax]
cmp ecx, edx
je 0x40cc31
dec ecx
cmp byte [ecx], 0x2f
jne 0x40cc20
sub ecx, edx
cmp ecx, 0xffffffff
jne 0x40cc6e
cmp edi, 0xf
lea edx, [ebp - 0x5c]
cmova edx, dword [ebp - 0x5c]
test esi, esi
je 0x40cd1f
or ecx, 0xffffffff
lea eax, [esi - 1]
cmp eax, ecx
cmovb ecx, eax
add ecx, edx
cmp byte [ecx], 0x5c
je 0x40cc63
cmp ecx, edx
je 0x40cd1f
dec ecx
cmp byte [ecx], 0x5c
jne 0x40cc55
sub ecx, edx
cmp ecx, 0xffffffff
je 0x40cd1f
mov edx, dword [ebp - 0x5c]
test ecx, ecx
je 0x40cc85
cmp edi, 0xf
lea eax, [ebp - 0x5c]
cmova eax, edx
cmp byte [eax + ecx - 1], 0x3a
jne 0x40cc86
inc ecx
cmp esi, ecx
mov dword [ebp - 0xac], 0
lea eax, [ebp - 0x5c]
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 - 0x150]
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 0x40cd25
mov edx, dword [ebp - 0xbc]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40cd13
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d5e2
push ecx
push edx
call fcn.00435b53
add esp, 8
jmp 0x40cd25
mov edi, dword [ebp - 0x150]
cmp byte [ebp - 0x135], 0
mov byte [ebp - 4], 0xa
jne 0x40cd4a
push str.Parsing...
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
lea eax, [ebp - 0x2cc]
push eax
lea ecx, [ebp - 0xf0]
call fcn.0040ea10
lea eax, [ebp - 0xf0]
mov byte [ebp - 4], 0xb
push eax
lea ecx, [ebp - 0x134]
call fcn.00412cf0
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xc
push eax
lea ecx, [ebp - 0x134]
call fcn.004148b0
cmp byte [ebp - 0x135], 0
mov esi, eax
mov dword [ebp - 0x158], esi
jne 0x40cdae
push str.Generating...
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
push dword [0x479724]
mov ecx, esi
call fcn.004116c0
cmp byte [ebp - 0x135], 0
mov dword [ebp - 0x15c], eax
jne 0x40cde2
push str.Translating...
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
lea ecx, [ebp - 0x214]
call fcn.00433f50
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x1d8], 0x45e9dc
mov dword [ebp - 0x1c8], 0x45e9e4
call fcn.00402420
push 0
push 0
lea eax, [ebp - 0x214]
mov byte [ebp - 4], 0xe
or edi, 1
lea ecx, [ebp - 0x1d8]
push eax
mov dword [ebp - 0x154], edi
call fcn.004024a0
mov eax, dword [ebp - 0x1c8]
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 - 0x1c8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 8]
mov dword [ebp + ecx - 0x1cc], eax
mov eax, dword [ebp - 0x1d8]
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 - 0x1d8]
mov ecx, dword [eax + 4]
lea eax, [ecx - 0x20]
mov dword [ebp + ecx - 0x1dc], eax
push dword [ebp - 0x160]
lea eax, [ebp - 0x1c8]
mov byte [ebp - 4], 0x11
push eax
lea ecx, [ebp - 0xb4]
call fcn.0041bfd0
push 0x47973c
lea eax, [ebp - 0xb4]
mov ecx, esi
push eax
call fcn.004118a0
cmp byte [ebp - 0x14b], 0
je 0x40cf2e
lea ecx, [ebp - 0x214]
call fcn.00434a50
lea ecx, [ebp - 0x214]
mov esi, eax
call fcn.00434160
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.00408910
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.004086c0
push eax
call fcn.00408910
add esp, 4
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x2c]
call fcn.00402fb0
cmp byte [ebp - 0x135], 0
jne 0x40cf4f
push str.Assembling...
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
mov ecx, dword [0x479718]
mov eax, dword [ecx]
mov eax, dword [eax + 8]
call eax
mov esi, eax
lea ecx, [ebp - 0x170]
push esi
lea eax, [ebp - 0x1d8]
push eax
call fcn.00419da0
lea ecx, [ebp - 0x170]
call fcn.0041b7a0
lea ecx, [ebp - 0x1d8]
call fcn.00409410
lea ecx, [ebp - 0x214]
call fcn.00434060
mov eax, dword [ebp - 0x108]
mov byte [ebp - 4], 0xb
push dword [eax + 4]
lea eax, [ebp - 0x108]
push eax
mov ecx, eax
call fcn.004080c0
push 0x2c
push dword [ebp - 0x108]
call fcn.00435b53
mov eax, dword [ebp - 0x118]
add esp, 8
push dword [eax + 4]
lea eax, [ebp - 0x118]
push eax
mov ecx, eax
call fcn.00401bf0
push 0x28
push dword [ebp - 0x118]
call fcn.00435b53
mov ecx, dword [ebp - 0x11c]
add esp, 8
cmp ecx, 0xf
jbe 0x40d01e
mov edx, dword [ebp - 0x130]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d014
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d5e7
push ecx
push edx
call fcn.00435b53
add esp, 8
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
mov byte [ebp - 0x130], 0
mov byte [ebp - 4], 0xa
test edi, edi
je 0x40d0ab
mov ecx, dword [ebp - 0xcc]
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 0x40d083
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d5e7
push ecx
push edi
call fcn.00435b53
add esp, 8
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov ecx, dword [ebp - 0xd8]
cmp ecx, 0xf
jbe 0x40d0e5
mov edx, dword [ebp - 0xec]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d0db
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d5e7
push ecx
push edx
call fcn.00435b53
add esp, 8
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xd8], 0xf
mov byte [ebp - 0xec], 0
mov dword [ebp - 4], 8
test ecx, ecx
je 0x40d117
mov eax, dword [ecx]
push 1
call dword [eax]
cmp dword [ebp - 0x64], 0
je 0x40d1f0
cmp byte [ebp - 0x135], 0
jne 0x40d162
push str.Creating_executable__
push 0x479960
call fcn.00407d20
cmp dword [ebp - 0x60], 0xf
lea ecx, [ebp - 0x74]
push dword [ebp - 0x64]
cmova ecx, dword [ebp - 0x74]
push ecx
push eax
call fcn.004086c0
push str._...
push eax
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
mov ecx, dword [0x475010]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 0x10
jb 0x40d5ec
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 - 0x154]
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 - 0x144], al
mov byte [ebp - 4], 8
call fcn.00402fb0
cmp byte [ebp - 0x144], 0
je 0x40d5f1
jmp 0x40d3d1
cmp byte [ebp - 0x14c], 0
jne 0x40d3d1
mov eax, dword [esi]
mov ecx, esi
push dword [0x479720]
mov eax, dword [eax + 4]
call eax
mov dword [ebp - 0x154], eax
test eax, eax
jne 0x40d309
lea ecx, [ebp - 0x2cc]
call fcn.00403350
mov ecx, dword [ebp - 0x78]
cmp ecx, 0xf
jbe 0x40d25c
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d252
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d625
push ecx
push edx
call fcn.00435b53
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 0x40d2a5
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d29b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d625
push ecx
push edx
call fcn.00435b53
add esp, 8
mov ecx, dword [ebp - 0x48]
mov byte [ebp - 0x74], 0
mov dword [ebp - 0x60], 0xf
mov dword [ebp - 0x64], 0
cmp ecx, 0xf
jbe 0x40d2eb
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d2e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d625
push ecx
push edx
call fcn.00435b53
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.00435db7
mov esp, ebp
pop ebp
ret
xor edi, edi
cmp byte [ebp - 0x160], 0
mov dword [ebp - 0x158], edi
je 0x40d37c
push str._bin_debugger.dll
push section..data
lea eax, [ebp - 0x2c]
push eax
call fcn.00408020
cmp dword [eax + 0x14], 0xf
jbe 0x40d335
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 0x40d60b
push str.debuggerGetDebugger
push edi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x40d60b
push dword [ebp - 0x15c]
push esi
call eax
add esp, 8
mov dword [ebp - 0x158], eax
test eax, eax
je 0x40d60b
cmp byte [ebp - 0x135], 0
jne 0x40d39d
push str.Executing...
push 0x479960
call fcn.00407d20
push eax
call fcn.00408910
add esp, 4
cmp dword [ebp - 0x78], 0xf
lea edx, [ebp - 0x8c]
mov ecx, dword [0x47971c]
push dword [ebp - 0x158]
cmova edx, dword [ebp - 0x8c]
push edx
mov eax, dword [ecx]
push dword [ebp - 0x154]
call dword [eax + 0x24]
test edi, edi
je 0x40d3d1
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
test esi, esi
je 0x40d3dd
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov esi, dword [ebp - 0x15c]
test esi, esi
je 0x40d3f9
mov ecx, esi
call fcn.0040de20
push 0x68
push esi
call fcn.00435b53
add esp, 8
call fcn.00404440
lea ecx, [ebp - 0x2cc]
call fcn.00403350
mov ecx, dword [ebp - 0x78]
cmp ecx, 0xf
jbe 0x40d440
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d436
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d625
push ecx
push edx
call fcn.00435b53
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 0x40d489
mov edx, dword [ebp - 0x74]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d47f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d625
push ecx
push edx
call fcn.00435b53
add esp, 8
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0xf
mov byte [ebp - 0x74], 0
cmp ecx, 0xf
jbe 0x40d2eb
mov edx, dword [ebp - 0x5c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40d2e1
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40d625
jmp 0x40d2e1
call fcn.0040b950
push eax
lea ecx, [ebp - 0x2c]
call fcn.00408d00
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 6
push eax
call fcn.0040af40
push eax
lea ecx, [ebp - 0x2c]
call fcn.00408d00
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 7
push eax
call fcn.0040af40
call fcn.00404140
push str.Unable_to_open_input_file
lea ecx, [ebp - 0x2c]
call fcn.00408d00
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 9
push eax
call fcn.0040af40
call fcn.0043a88f
call fcn.0043a88f
call fcn.00404120
push str.Error_creating_executable
lea ecx, [ebp - 0x2c]
call fcn.00408d00
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x18
push eax
call fcn.0040af40
push str.Error_launching_debugger
lea ecx, [ebp - 0x2c]
call fcn.00408d00
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0x19
push eax
call fcn.0040af40
call fcn.0043a88f
int3