Function at 0x413670
Capabilities:
Link many functions at runtime

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x436f00
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x8d0
mov eax, dword [0x455008]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x8dc], edi
mov eax, dword [edi]
cmp byte [eax + 0x79c], 0
je 0x413b9e
push 0x45182c
push 1
push 1
call fcn.00414dd0
mov eax, dword [edi + 0x44]
add esp, 0xc
mov dword [ebp - 0x8e0], 0xcfffffff
test eax, eax
je 0x4136ff
mov eax, dword [eax + 4]
test eax, eax
je 0x4136ff
mov eax, dword [eax]
test eax, eax
je 0x4136ff
mov eax, dword [eax]
mov dword [ebp - 0x8e0], eax
push 0x894
lea eax, [ebp - 0x8d4]
mov dword [ebp - method.CWerReport.virtual_0], vtable.CWerReport.0
push 0
push eax
mov dword [ebp - 0x40], 4
mov dword [ebp - 0x3c], 0
call fcn.00417b90
add esp, 0xc
mov dword [ebp - 0x38], 2
cmp byte [0x45667a], 0
jne 0x4137f0
push 0x452100
mov byte [0x45667a], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov edi, eax
test edi, edi
je 0x4137d3
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x452110
push edi
call esi
push 0x452120
push edi
mov dword [0x456700], eax
call esi
push 0x452138
push edi
mov dword [0x456704], eax
call esi
push 0x45214c
push edi
mov dword [0x4566fc], eax
call esi
push 0x45215c
push edi
mov dword [0x4566f8], eax
call esi
cmp dword [0x456700], 0
mov dword [0x4566f4], eax
je 0x4137cc
cmp dword [0x456704], 0
je 0x4137cc
cmp dword [0x4566fc], 0
je 0x4137cc
cmp dword [0x4566f8], 0
je 0x4137cc
test eax, eax
je 0x4137cc
xor eax, eax
jmp 0x4137e5
mov eax, 0x80004002
jmp 0x4137e5
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x4137e5
movzx eax, ax
or eax, 0x80070000
mov edi, dword [ebp - 0x8dc]
mov dword [0x4558e8], eax
sub esp, 0xc
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x8d8]
push dword [ebx + 8]
call fcn.00415b60
mov esi, eax
test esi, esi
jns 0x413836
push esi
push 0x451858
push 1
push 0
call fcn.00414dd0
push 0x44514c
mov edx, 0x4518b8
mov ecx, esi
call fcn.0040a300
add esp, 0x14
jmp 0x413b7b
mov esi, dword [0x4558e8]
mov eax, dword [edi + 0x30]
test esi, esi
js 0x413b7b
test eax, eax
je 0x413b76
cmp word [eax], 0
je 0x413b76
mov ecx, dword [ebp - 0x38]
cmp ecx, 0xa
jb 0x41386b
mov esi, 0x8007007a
jmp 0x413b7b
push eax
push 0x4518f8
push ecx
push dword [ebp - 0x3c]
call dword [0x456704]
mov esi, eax
test esi, esi
js 0x413b7b
inc dword [ebp - 0x38]
test esi, esi
js 0x413b7b
push dword [ebp - 0x8e0]
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x1c], 0
push 0x451908
xorps xmm0, xmm0
mov word [ebp - 0x18], 0
push 0xb
push eax
movups xmmword [ebp - 0x2c], xmm0
call fcn.00411b30
mov ecx, dword [0x4558e8]
add esp, 0x10
test ecx, ecx
jns 0x4138ce
mov eax, dword [ebp - 0x38]
mov esi, ecx
jmp 0x413911
cmp word [ebp - 0x2c], 0
je 0x413b76
mov eax, dword [ebp - 0x38]
cmp eax, 0xa
jb 0x4138eb
mov esi, 0x8007007a
jmp 0x413b7b
lea ecx, [ebp - 0x2c]
push ecx
push 0x451914
push eax
push dword [ebp - 0x3c]
call dword [0x456704]
mov esi, eax
mov eax, dword [ebp - 0x38]
test esi, esi
js 0x41390b
inc eax
mov dword [ebp - 0x38], eax
mov ecx, dword [0x4558e8]
test esi, esi
js 0x413b7b
test ecx, ecx
jns 0x413921
mov esi, ecx
jmp 0x413953
cmp eax, 0xa
jb 0x413930
mov esi, 0x8007007a
jmp 0x413b7b
push 0x448e8c
push 0x451930
push eax
push dword [ebp - 0x3c]
call dword [0x456704]
mov esi, eax
test esi, esi
js 0x41394d
inc dword [ebp - 0x38]
mov ecx, dword [0x4558e8]
test esi, esi
js 0x413b7b
mov edx, 6
lea eax, [edi + 0x1c]
mov edi, dword [eax]
test edi, edi
je 0x41396f
cmp dword [edi + 0x7c], 0
jge 0x41397c
sub eax, 4
sub edx, 1
jne 0x413963
jmp 0x413acd
mov eax, dword [ebp - 0x8dc]
mov esi, 5
mov eax, dword [eax]
cmp byte [eax + 0x77d], 0
je 0x413999
mov esi, 2
jmp case.default.0x4139a1
add edx, 0xfffffffe
cmp edx, 4
ja case.default.0x4139a1
jmp dword [edx*4 + 0x413bc0]
mov esi, 2
jmp case.default.0x4139a1
mov esi, 3
cmp dword [edi + 0x20], 8
lea eax, [edi + 0xc]
mov dword [ebp - 0x8e0], eax
mov edx, eax
jb 0x4139c7
mov edx, dword [eax]
test ecx, ecx
jns 0x4139cf
mov esi, ecx
jmp 0x4139e7
push 1
push esi
push edx
push dword [ebp - 0x3c]
call dword [0x4566fc]
mov ecx, dword [0x4558e8]
mov esi, eax
lea eax, [edi + 0xc]
test esi, esi
jns 0x413a2b
cmp dword [eax + 0x14], 8
mov ecx, eax
jb 0x4139f5
mov ecx, dword [eax]
push ecx
push esi
push 0x451948
push 1
push 0
call fcn.00414dd0
mov eax, dword [ebp - 0x8e0]
add esp, 0x14
cmp dword [eax + 0x14], 8
jb 0x413a16
mov eax, dword [eax]
push eax
mov edx, 0x4519b8
mov ecx, esi
call fcn.0040a300
add esp, 4
jmp 0x413b7b
cmp dword [edi + 0x80], 0
jl 0x413a61
cmp dword [edi + 0x34], 0
jne 0x413a3e
xor eax, eax
jmp 0x413a49
cmp dword [edi + 0x38], 8
lea eax, [edi + 0x24]
jb 0x413a49
mov eax, dword [eax]
test ecx, ecx
js 0x413a61
push 1
push 3
push eax
push dword [ebp - 0x3c]
call dword [0x4566fc]
mov ecx, dword [0x4558e8]
cmp dword [edi + 0x84], 0
jl 0x413a97
cmp dword [edi + 0x4c], 0
jne 0x413a74
xor eax, eax
jmp 0x413a7f
cmp dword [edi + 0x50], 8
lea eax, [edi + 0x3c]
jb 0x413a7f
mov eax, dword [eax]
test ecx, ecx
js 0x413a97
push 1
push 3
push eax
push dword [ebp - 0x3c]
call dword [0x4566fc]
mov ecx, dword [0x4558e8]
cmp dword [edi + 0x88], 0
jl 0x413acd
cmp dword [edi + 0x64], 0
jne 0x413aaa
xor edi, edi
jmp 0x413ab5
add edi, 0x54
cmp dword [edi + 0x14], 8
jb 0x413ab5
mov edi, dword [edi]
test ecx, ecx
js 0x413ad1
push 1
push 5
push edi
push dword [ebp - 0x3c]
call dword [0x4566fc]
mov ecx, dword [0x4558e8]
test ecx, ecx
jns 0x413ad5
mov esi, ecx
jmp 0x413ae8
lea eax, [ebp - 0x40]
push eax
push 0x24
push 2
push dword [ebp - 0x3c]
call dword [0x4566f8]
mov esi, eax
test esi, esi
js 0x413b51
mov eax, dword [ebp - 0x40]
dec eax
cmp eax, 8
ja case.default.0x413af5
jmp dword [eax*4 + 0x413bd4]
mov eax, 0x4521e4
jmp 0x413b3d
mov eax, 0x4521f4
jmp 0x413b3d
mov eax, 0x452208
jmp 0x413b3d
mov eax, 0x452214
jmp 0x413b3d
mov eax, 0x44eec4
jmp 0x413b3d
mov eax, 0x452224
jmp 0x413b3d
mov eax, 0x452238
jmp 0x413b3d
mov eax, 0x452254
jmp 0x413b3d
mov eax, 0x452260
jmp 0x413b3d
xor eax, eax
push eax
push 0x451a04
push 1
push 0
call fcn.00414dd0
add esp, 0x10
jmp 0x413b7b
push esi
push 0x451a18
push 1
push 0
call fcn.00414dd0
push 0x44514c
mov edx, 0x451a70
mov ecx, esi
call fcn.0040a300
add esp, 0x14
jmp 0x413b7b
mov esi, 0x80070057
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x3c]
mov dword [ebp - method.CWerReport.virtual_0], vtable.CWerReport.0
test eax, eax
je 0x413b9a
push eax
call dword [0x4566f4]
mov eax, esi
jmp 0x413ba0
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00415f69
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4