Function at 0x438680
Capabilities:
Terminate process

Disassembly:
sub esp, 0x1c
mov ecx, dword [0x4f3c58]
mov eax, 0x523574
mov dword [esp], eax
mov dword [esp + 0xc], eax
push ebp
lea eax, [ecx - 1]
push esi
push edi
test ecx, ecx
mov dword [esp + 0x14], 0
mov dword [esp + 0x24], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], eax
jg 0x4386ed
mov eax, dword [sym.imp.MSVCRT.dll__iob]
push 0x1d17
push str.C:Documents_and_SettingscorkumMy_DocumentsMy_ProjectsFEAWIN_5.X_fea.cpp
add eax, 0x40
push str.fatal:_attrib_AST_stack_overflow__s__d___n
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0x10
push 1
call dword [sym.imp.MSVCRT.dll_exit]
test eax, eax
mov dword [0x4f3c58], eax
jg 0x438720
mov ecx, dword [sym.imp.MSVCRT.dll__iob]
push 0x1d1b
push str.C:Documents_and_SettingscorkumMy_DocumentsMy_ProjectsFEAWIN_5.X_fea.cpp
add ecx, 0x40
push str.fatal:_attrib_AST_stack_overflow__s__d___n
push ecx
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0x10
push 1
call dword [sym.imp.MSVCRT.dll_exit]
dec eax
lea edx, [esp + 0x10]
mov dword [0x4f3c58], eax
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x18]
push edx
push eax
push 0xa1
call fcn.0041dd70
add esp, 0x18
test eax, eax
je 0x4388ca
lea ecx, [esp + 0x10]
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x18]
push ecx
push edx
push 0x10
call fcn.0041dd70
add esp, 0x18
test eax, eax
je 0x4388ca
call fcn.00420330
mov ebp, eax
mov eax, dword [0x4f3c58]
test eax, eax
lea edi, [eax - 1]
jg 0x4387bb
mov eax, dword [sym.imp.MSVCRT.dll__iob]
push 0x1d24
push str.C:Documents_and_SettingscorkumMy_DocumentsMy_ProjectsFEAWIN_5.X_fea.cpp
add eax, 0x40
push str.fatal:_attrib_AST_stack_overflow__s__d___n
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 0x10
push 1
call dword [sym.imp.MSVCRT.dll_exit]
mov ecx, dword [0x4f3c88]
mov dword [0x4f3c58], edi
lea esi, [ecx - 3]
cmp esi, 1
jl 0x43880b
call fcn.0046dbb0
mov edx, dword [0x4f3c88]
dec edx
mov dword [0x4f3c88], edx
mov edx, dword [0x5316bc]
lea eax, [edx + 1]
and eax, 3
mov dword [0x5316bc], eax
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
lea eax, [eax + eax*4]
shl eax, 4
add eax, 0x52f6f8
dec esi
mov dword [0x5316b8], eax
jne 0x4387cf
mov ecx, dword [0x5316c0]
and ecx, 3
mov eax, dword [ecx*4 + 0x531644]
test byte [eax + 0x4f2ae0], 1
je 0x43882d
call fcn.00438bb0
mov esi, eax
jmp 0x438843
cmp eax, 8
jne 0x4388a2
push 0x52e358
call fcn.00420140
mov esi, dword [esp + 0x28]
add esp, 4
mov ecx, esi
mov dword [0x4f3c58], edi
call fcn.004497b0
test eax, eax
je 0x438877
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x10]
push edx
mov edx, dword [eax + 8]
push ecx
mov ecx, dword [0x52e628]
push edx
push ebp
call fcn.0044ee10
mov ecx, esi
call fcn.004497d0
test eax, eax
jne 0x438854
test esi, esi
je 0x438884
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x10]
test ebp, ebp
je 0x438892
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx + 0x10]
mov eax, dword [esp + 0x20]
pop edi
pop esi
mov dword [0x4f3c58], eax
pop ebp
add esp, 0x1c
ret
lea ecx, [esp + 0x24]
lea edx, [esp + 0xc]
push ecx
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x1c]
push ecx
push edx
push 0x4f2a68
push 1
call fcn.0041da70
add esp, 0x1c
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
mov dword [0x4f3c58], eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x24]
push ecx
push 0x523574
push edx
push eax
call fcn.0043daf0
push 2
push 0x4f2ae0
call fcn.0041d990
add esp, 0x24
pop edi
pop esi
pop ebp
add esp, 0x1c
ret