Function at 0x40348b
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x740
mov eax, dword [0x4280b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x6ec], eax
mov eax, dword [ebp + 0xc]
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push edi
mov dword [ebp - 0x6f4], eax
mov eax, dword [ebp + 0x10]
push ecx
pop edi
mov dword [ebp - 0x6f0], eax
mov eax, dword [ebp + 0x14]
push str.StackWalk
sub ebx, ebx
push edi
mov dword [ebp - 0x70c], eax
mov byte [ebp - 0x6e5], bl
call esi
push str.SymGetModuleInfo
push edi
mov dword [ebp - 0x700], eax
call esi
push str.SymGetSymFromAddr
push edi
mov dword [ebp - 0x710], eax
call esi
push str.SymGetLineFromAddr
push edi
mov dword [ebp - 0x704], eax
call esi
push str.SymFunctionTableAccess
push edi
mov dword [ebp - 0x708], eax
call esi
push str.SymGetModuleBase
push edi
mov dword [ebp - 0x6f8], eax
call esi
mov dword [ebp - 0x6fc], eax
cmp dword [ebp - 0x700], ebx
je 0x4037b5
cmp dword [ebp - 0x710], ebx
je 0x4037b5
cmp dword [ebp - 0x704], ebx
je 0x4037b5
cmp dword [ebp - 0x708], ebx
je 0x4037b5
cmp dword [ebp - 0x6f8], ebx
je 0x4037b5
cmp eax, ebx
je 0x4037b5
push 0xa4
lea eax, [ebp - 0x4a8]
push ebx
push eax
call fcn.0040e690
mov eax, dword [ebp - 0x6f4]
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0xb8]
mov dword [ebp - 0x4a8], ecx
push 3
pop ecx
mov dword [ebp - 0x4a0], ecx
mov edx, dword [eax + 0xc4]
mov dword [ebp - 0x484], edx
mov dword [ebp - 0x47c], ecx
mov eax, dword [eax + 0xb4]
push str._r_nSTACK_TRACE_r_n__________________________________________________________________r_nmodule_function:Address_r_n_t_t_t_FileName:FileLine__r_n_t_t_t_Base_Addr.__Displacement__r_n_t_t_t_Frame______Return______r_n_t_t_t_Param1_____Param2_____Param3_____Param_4______r_n
push dword [ebp - 0x6ec]
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x488], ecx
call fcn.0040cd05
add esp, 0x14
mov esi, 0x14c
jmp 0x403784
mov eax, dword [ebp - 0x4a8]
cmp eax, ebx
je 0x4037b5
lea ecx, [ebp - 0x6e4]
push ecx
push eax
push dword [ebp - 0x6f0]
mov dword [ebp - 0x404], 0x18
mov dword [ebp - 0x3fc], ebx
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3f8], ebx
mov dword [ebp - 0x3f4], 0x3e9
mov dword [ebp - 0x6e4], 0x23c
call dword [ebp - 0x710]
or eax, eax
je 0x40364e
lea eax, [ebp - 0x6c8]
push eax
push 0x421540
push dword [ebp - 0x6ec]
call fcn.0040cd05
add esp, 0xc
sub eax, eax
lea edi, [ebp - 0x724]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x404]
push eax
lea eax, [ebp - 0x6f4]
push eax
push dword [ebp - 0x4a8]
mov dword [ebp - 0x724], 0x14
push dword [ebp - 0x6f0]
call dword [ebp - 0x704]
push dword [ebp - 0x4a8]
or eax, eax
je 0x4036ab
lea eax, [ebp - 0x3f0]
push eax
push str._S:0x_x_r_n
push dword [ebp - 0x6ec]
call fcn.0040cd05
add esp, 0x10
jmp 0x4036be
push str._NoSymbol_:0x_x_r_n
push dword [ebp - 0x6ec]
call fcn.0040cd05
add esp, 0xc
lea eax, [ebp - 0x724]
push eax
lea eax, [ebp - 0x6f4]
push eax
push dword [ebp - 0x4a8]
push dword [ebp - 0x6f0]
call dword [ebp - 0x708]
push dword [ebp - 0x71c]
push dword [ebp - 0x718]
or eax, eax
je 0x4036f5
push str._t_t_t__S:_d__r_n
jmp 0x4036fa
push str._t_t_t_Not_Available__r_n
push dword [ebp - 0x6ec]
call fcn.0040cd05
add esp, 0x10
push dword [ebp - 0x468]
push dword [ebp - 0x46c]
push dword [ebp - 0x470]
push dword [ebp - 0x474]
push dword [ebp - 0x49c]
push dword [ebp - 0x490]
push dword [ebp - 0x6f4]
push dword [ebp - 0x400]
push str._t_t_t_0x_x__0x_x__r_n_t_t_t_0x_08x_0x_08x__r_n_t_t_t_0x_08x_0x_08x_0x_08x_0x_08x___r_n
push dword [ebp - 0x6ec]
call fcn.0040cd05
add esp, 0x28
cmp byte [ebp - 0x6e5], bl
jne 0x403784
push 0x1c
lea eax, [ebp - 0x740]
push eax
push dword [ebp - 0x400]
call dword [sym.imp.KERNEL32.dll_VirtualQuery]
or eax, eax
je 0x40377c
mov eax, dword [0x42abbc]
cmp eax, dword [ebp - 0x73c]
sete al
jmp 0x40377e
mov al, bl
mov byte [ebp - 0x6e5], al
push ebx
push dword [ebp - 0x6fc]
lea eax, [ebp - 0x4a8]
push dword [ebp - 0x6f8]
push ebx
push ebx
push eax
push dword [ebp - 0x70c]
push dword [ebp - 0x6f0]
push esi
call dword [ebp - 0x700]
or eax, eax
jne 0x4035de
mov ecx, dword [ebp - 4]
mov al, byte [ebp - 0x6e5]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0040b965
leave
ret