Function at 0x418f52
Capabilities:
Terminate process

Disassembly:
sub esp, 0x104
push ebx
push esi
push edi
call fcn.004182df
call fcn.00406fe0
mov ecx, str.the_rest_of_init2
mov dword [0x469308], eax
call fcn.00407071
cmp dword [0x45c178], 1
mov dword [0x45c580], 3
sbb eax, eax
neg eax
and dword [0x45c0f0], eax
cmp dword [0x466314], 0
jne 0x41926e
cmp dword [0x45c494], 0
je 0x418faa
call fcn.0041a9d3
cmp dword [0x45c4b4], 0
jne 0x434233
call fcn.00406fe0
cmp dword [0x45c4c4], 0
mov dword [0x45c150], eax
jne 0x43425e
mov dword [0x469158], 0
cmp dword [0x45c494], 0
je 0x419001
cmp dword [0x466314], 0
jne 0x419001
cmp dword [0x466164], 0
jne 0x419001
cmp dword [0x45c0ec], 0
je 0x419001
call fcn.0041ce23
mov esi, 0x45c0a8
mov edi, 0x468d50
mov ecx, 0x102
rep movsd dword es:[edi], dword [esi]
mov ecx, str.PCH_open
call fcn.00407071
cmp dword [0x45c494], 0
je 0x434278
call fcn.0041cb86
cmp dword [0x45c494], 0
je 0x4342a7
mov ecx, str.primary_parsing
call fcn.00407071
cmp dword [0x466164], 0
jne 0x419094
mov ecx, str.compiler_generated_stuff
call fcn.00407071
mov ecx, dword [0x45b690]
call fcn.0041f0ee
mov ecx, str.global_symbols
call fcn.00407071
cmp dword [0x45c494], 0
je 0x41908f
cmp dword [0x45f98c], 0
jne 0x419282
xor edx, edx
mov ecx, 0x4d
call fcn.0041395d
call fcn.00409a2b
mov ecx, str.expect_nothing
call fcn.00407071
mov dword [0x45c580], 5
call fcn.0040705c
mov ecx, eax
mov dword [0x45b56c], eax
mov ebx, dword [eax]
call dword [ebx]
call fcn.0041f446
cmp dword [0x4664c4], 1
mov eax, 1
jg 0x4190cd
xor eax, eax
add eax, dword [0x466460]
jne 0x4190e8
mov eax, dword [0x4664d0]
mov ecx, eax
mov ebx, dword [eax]
call dword [ebx]
test eax, eax
je 0x4342be
mov eax, dword [0x4664d0]
mov ecx, eax
mov ebx, dword [eax]
call dword [ebx + 4]
test eax, eax
je 0x4342e2
cmp dword [0x466164], 0
jne 0x4191e7
cmp dword [0x466314], 0
jne 0x419124
cmp dword [0x45c0ec], 0
je 0x4192a6
call fcn.0041f503
cmp dword [0x45c494], 0
je 0x4342fb
mov ecx, 0x466010
call fcn.0041f432
mov ecx, 0x466120
call fcn.0041f432
mov ecx, 0x4609e0
call fcn.0041f432
mov eax, dword [0x465fe0]
cmp dword [0x465fe4], eax
je 0x4191bf
mov ebx, dword [0x465fe4]
mov esi, eax
sub ebx, eax
lea eax, [ebx + 1]
test eax, eax
jl 0x43430c
mov ecx, dword [0x4662e4]
mov edx, dword [0x4662e8]
add ecx, ebx
add edx, dword [0x4662e0]
inc ecx
cmp ecx, edx
ja 0x434313
mov eax, 1
and dword [0x4662f8], eax
je 0x4191b5
mov edi, dword [0x4662e4]
mov ecx, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [0x4662e4], ebx
mov eax, dword [0x465fe0]
mov dword [0x465fe4], eax
mov ecx, 0x4662e0
call fcn.0041f432
cmp dword [0x45c0ec], 0
je 0x4191dc
mov ecx, 0x460a58
call fcn.0041f432
mov ecx, dword [0x466458]
call fcn.0041f3dc
mov eax, dword [0x4663a8]
mov ecx, eax
mov ebx, dword [eax]
call dword [ebx + 0x10]
cmp dword [0x466274], 0
jne 0x4192b8
call dword [sym.imp.MSVCRT40.dll___p__iob]
add eax, 0x20
push eax
call dword [sym.imp.MSVCRT40.dll_fflush]
add esp, 4
test eax, eax
jne 0x434354
call fcn.0041ef96
mov ecx, str.IPM_MR_IL_close_and_wrap_up
call fcn.00407071
call fcn.0041f080
call fcn.0041f0ca
mov dword [0x45c580], 8
cmp dword [0x45c6cc], 0
jne 0x434374
mov ecx, 1
mov eax, dword [sym.imp.MSVCRT40.dll_exit]
cmp dword [0x4664c4], 1
jg 0x419260
xor ecx, ecx
add ecx, dword [0x466460]
push ecx
call eax
jmp 0x43437e
call fcn.004263db
mov dword [0x45c580], 5
jmp 0x4191f3
xor edx, edx
mov ecx, 0x53
call fcn.0041395d
xor ecx, ecx
call fcn.00407200
mov edx, eax
mov ecx, 0x54
call fcn.0041395d
jmp 0x419083
cmp dword [0x45c178], 0
je 0x419124
jmp 0x41911f
mov ecx, dword [0x466454]
call fcn.00426580
test eax, eax
je 0x419200
jmp 0x434330
cmp dword [0x4663b0], 0
je 0x434249
xor edx, edx
mov ecx, dword [0x4663bc]
call fcn.0043e390
mov edx, 1
mov ecx, dword [0x45c4b8]
call fcn.0043e390
jmp 0x419012
cmp dword [0x45c178], 1
sbb eax, eax
neg eax
mov dword [0x45c0f0], eax
call fcn.0044522e
jmp 0x419001
cmp dword [0x45c4c4], 0
jne 0x419029
cmp dword [0x45c4e0], 0
je 0x434298
call fcn.0044873f
jmp 0x419029
call fcn.00448826
call fcn.004433a0
jmp 0x419029
cmp dword [0x45c6d0], 0
jne 0x41903b
mov ecx, str.headers
jmp 0x419040
mov eax, dword [0x466458]
lea edx, [esp + 0xc]
push edx
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 0xc]
push eax
push 0x1d7
call fcn.00447247
add esp, 8
jmp 0x4190e8
push 0x52f
push str.main.c
push 0x49
call fcn.004473a7
add esp, 0xc
jmp 0x4190fc
xor ecx, ecx
call fcn.0044890f
call fcn.0044832d
jmp 0x4191dc
xor eax, eax
jmp 0x419193
push eax
mov ecx, 0x4662e0
call fcn.0040e7b7
test eax, eax
mov eax, 0
jne 0x41918e
jmp 0x419193
push 0x56d
mov eax, dword [0x466274]
push str.main.c
mov edx, 0x154
push eax
mov ecx, 0x55
call fcn.0044725e
jmp 0x419200
push 0x572
mov edx, 0x154
push str.main.c
mov ecx, 0x55
push 0
call fcn.0044725e
jmp 0x41921b
call fcn.004447fa
jmp 0x41924b
add esp, 4
mov eax, 1
cmp dword [0x4664c4], 1
jg 0x434391
xor eax, eax
add eax, dword [0x466460]
pop edi
pop esi
pop ebx
add esp, 0x104
ret