Function at 0x403020
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x51c
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push str._t_Rising_Unhandled_Exception_Collection_System__r_n_r_n
push ebx
call fcn.00401f90
mov eax, str.a_Microsoft_C_Exception
mov dword [esp + 0xec], eax
mov dword [esp + 0xf4], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax]
mov ecx, 0xe06d7363
add esp, 8
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], str.an_Unknown_exception_type
mov dword [esp + 0x28], 0x40010005
mov dword [esp + 0x2c], str.a_Control_C
mov dword [esp + 0x30], 0x40010008
mov dword [esp + 0x34], str.a_Control_Break
mov dword [esp + 0x38], 0x80000002
mov dword [esp + 0x3c], str.a_Datatype_Misalignment
mov dword [esp + 0x40], 0x80000003
mov dword [esp + 0x44], str.a_Breakpoint
mov dword [esp + 0x48], 0xc0000005
mov dword [esp + 0x4c], str.an_Access_Violation
mov dword [esp + 0x50], 0xc0000006
mov dword [esp + 0x54], str.an_In_Page_Error
mov dword [esp + 0x58], 0xc0000017
mov dword [esp + 0x5c], str.a_No_Memory
mov dword [esp + 0x60], 0xc000001d
mov dword [esp + 0x64], str.an_Illegal_Instruction
mov dword [esp + 0x68], 0xc0000025
mov dword [esp + 0x6c], str.a_Noncontinuable_Exception
mov dword [esp + 0x70], 0xc0000026
mov dword [esp + 0x74], str.an_Invalid_Disposition
mov dword [esp + 0x78], 0xc000008c
mov dword [esp + 0x7c], str.a_Array_Bounds_Exceeded
mov dword [esp + 0x80], 0xc000008d
mov dword [esp + 0x84], str.a_Float_Denormal_Operand
mov dword [esp + 0x88], 0xc000008e
mov dword [esp + 0x8c], str.a_Float_Divide_by_Zero
mov dword [esp + 0x90], 0xc000008f
mov dword [esp + 0x94], str.a_Float_Inexact_Result
mov dword [esp + 0x98], 0xc0000090
mov dword [esp + 0x9c], str.a_Float_Invalid_Operation
mov dword [esp + 0xa0], 0xc0000091
mov dword [esp + 0xa4], str.a_Float_Overflow
mov dword [esp + 0xa8], 0xc0000092
mov dword [esp + 0xac], str.a_Float_Stack_Check
mov dword [esp + 0xb0], 0xc0000093
mov dword [esp + 0xb4], str.a_Float_Underflow
mov dword [esp + 0xb8], 0xc0000094
mov dword [esp + 0xbc], str.an_Integer_Divide_by_Zero
mov dword [esp + 0xc0], 0xc0000095
mov dword [esp + 0xc4], str.an_Integer_Overflow
mov dword [esp + 0xc8], 0xc0000096
mov dword [esp + 0xcc], str.a_Privileged_Instruction
mov dword [esp + 0xd0], 0xc00000fd
mov dword [esp + 0xd4], str.a_Stack_Overflow
mov dword [esp + 0xd8], 0xc0000142
mov dword [esp + 0xdc], str.a_DLL_Initialization_Failed
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe8], ecx
xor esi, esi
cmp eax, dword [esp + esi*8 + 0x20]
je 0x40324c
cmp eax, dword [esp + esi*8 + 0x28]
je 0x40324b
add esi, 2
cmp esi, 0x1a
jb 0x403235
jmp 0x403251
inc esi
cmp esi, 0x1a
jb 0x403253
xor esi, esi
xor eax, eax
mov byte [esp + 0x218], 0
mov ecx, 0x40
lea edi, [esp + 0x219]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor eax, eax
mov byte [esp + 0x110], 0
mov ecx, 0x40
lea edi, [esp + 0x111]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [esp + 0x320], 0
xor eax, eax
mov ecx, 0x81
lea edi, [esp + 0x321]
rep stosd dword es:[edi], eax
push str.Unknown
stosw word es:[edi], ax
push 0x104
lea ecx, [esp + 0x220]
push ecx
stosb byte es:[edi], al
call fcn.00401250
push str.Unknown
push 0x104
lea edx, [esp + 0x118]
push edx
call fcn.00401250
push 0x206
lea eax, [esp + 0x324]
push eax
push 0
call dword [0x41a0ac]
lea ecx, [esp + 0x320]
push 0x5c
push ecx
call fcn.0040f7e0
add esp, 8
test eax, eax
je 0x403311
inc eax
push eax
push 0x104
lea edx, [esp + 0x118]
push edx
call fcn.00401250
mov edi, dword [ebp + 0xc]
mov ecx, dword [edi + 0xc]
push 0x1c
lea eax, [esp + 0xf8]
push eax
push ecx
call dword [0x41a0a8]
test eax, eax
je 0x403375
mov eax, dword [esp + 0xf8]
push 0x206
lea edx, [esp + 0x324]
push edx
push eax
call dword [0x41a0ac]
test eax, eax
jbe 0x403375
lea ecx, [esp + 0x320]
push 0x5c
push ecx
call fcn.0040f7e0
add esp, 8
test eax, eax
je 0x403375
inc eax
push eax
push 0x104
lea edx, [esp + 0x220]
push edx
call fcn.00401250
mov eax, dword [edi + 0xc]
mov edx, dword [edi]
push eax
mov eax, dword [esp + esi*8 + 0x28]
lea ecx, [esp + 0x21c]
push ecx
push edx
push eax
lea ecx, [esp + 0x120]
push ecx
push str._s_caused__s__0x_08x___r_n_tin_module__s_Address_at__08x._r_n
push ebx
call fcn.00401f90
add esp, 0x1c
lea edx, [esp + 0x18]
push edx
call dword [0x41a0a4]
lea eax, [esp + 0x18]
push eax
mov ecx, eax
push ecx
call dword [0x41a0a0]
test eax, eax
je 0x40341b
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x20]
push ecx
call dword [0x41a09c]
test eax, eax
je 0x40341b
movzx ecx, word [esp + 0x14]
movzx eax, word [esp + 0x10]
mov edx, ecx
and edx, 0x1f
shl edx, 1
push edx
mov edx, ecx
shr edx, 5
and edx, 0x3f
push edx
shr ecx, 0xb
push ecx
mov ecx, eax
shr ecx, 9
mov edx, eax
add ecx, 0x7bc
push ecx
and edx, 0x1f
push edx
shr eax, 5
and eax, 0xf
push eax
push str.Error_occurred_at_:__d__d__d__02d:_02d:_02d__r_n
push ebx
call fcn.00401f90
add esp, 0x20
push 0x41a640
push ebx
call fcn.00401f90
push edi
push str.Exception_Information_:_0x_08x__r_n
push ebx
call fcn.00401f90
mov eax, dword [edi + 4]
mov ecx, dword [edi]
push eax
push ecx
push str.Code_:_0x_08x__t_t_Flags_:_0x_08x__r_n
push ebx
call fcn.00401f90
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
push edx
push eax
push str.Param_:_0x_08x__t_t_Address_:_0x_08x__r_n
push ebx
call fcn.00401f90
push 0x41a640
push ebx
call fcn.00401f90
add esp, 0x3c
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret