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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x280
mov dword [esp], ecx
mov edi, edx
mov eax, dword [0x94bccc]
test eax, eax
je 0x650654
mov dword [esp + 0x10], 2
mov dword [esp + 0x20], 0
lea eax, [edi + 0x70]
lea edx, [edi + 0xa8]
lea ecx, [edi + 0xd0]
mov dword [esp + 4], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x58], ecx
jmp 0x64f60f
mov ecx, edi
call fcn.00665940
test al, al
jne 0x65062f
mov eax, dword [esp + 4]
mov ecx, dword [eax]
lea eax, [ecx - 3]
cmp eax, 1
ja 0x64fc50
cmp dword [edi + 0xbc], 0
jne 0x64f600
mov eax, dword [edi + 0xb8]
cmp dword [edi + 0xac], eax
jbe 0x64f600
mov eax, dword [0x94bccc]
test eax, eax
je 0x650463
cmp dword [edi + 0xbc], 0
jne 0x64f60f
mov ebx, dword [edi + 0xac]
mov eax, dword [edi + 0xb8]
mov ecx, ebx
sub ecx, eax
jbe 0x64f60f
mov edx, dword [esp + 0x44]
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0x93d1f8
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0x93d1f8
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0x93d1f8
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0x93d1f8
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0x93d1f8
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0x93d1f8
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0x93d1f8
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0x93d1f8
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0x93d1f8
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0x93d1f8
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0x93d1f8
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0x93d1f8
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0x93d1f8
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0x93d1f8
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0x93d1f8
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0x93d1f8
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0x93d1f8
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0x93d1f8
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0x93d1f8
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0x93d1f8
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0x93d1f8
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0x93d1f8
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0x93d1f8
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0x93d1f8
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0x93d1f8
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0x93d1f8
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0x93d1f8
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0x93d1f8
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0x93d1f8
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0x93d1f8
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0x93d1f8
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0x93d1f8
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0x93d1f8
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0x93d1f8
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0x93d1f8
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0x93d1f8
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0x93d1f8
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0x93d1f8
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0x93d1f8
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0x93d1f8
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0x93d1f8
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0x93d1f8
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0x93d1f8
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0x93d1f8
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0x93d1f8
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0x93d1f8
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e4], 0x93d1f8
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0x93d1f8
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0x93d1f8
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0x93d1f8
mov dword [esp + 0x200], 0
mov dword [esp + 0x204], 0x93d1f8
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0x93d1f8
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0x93d1f8
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], 0x93d1f8
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0x93d1f8
mov dword [esp + 0x228], 0
mov dword [esp + 0x22c], 0x93d1f8
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], 0x93d1f8
mov dword [esp + 0x238], 0
mov dword [esp + 0x23c], 0x93d1f8
mov dword [esp + 0x240], 0
mov dword [esp + 0x244], 0x93d1f8
mov dword [esp + 0x248], 0
mov dword [esp + 0x24c], 0x93d1f8
mov dword [esp + 0x250], 0
mov dword [esp + 0x254], 0x93d1f8
mov dword [esp + 0x258], 0
mov dword [esp + 0x25c], 0x93d1f8
mov dword [esp + 0x260], 0
mov dword [esp + 0x264], 0x93d1f8
mov dword [esp + 0x268], 0
mov dword [esp + 0x26c], 0x93d1f8
mov dword [esp + 0x70], ecx
lea ecx, [esp + 0x2c]
add eax, dword [edx]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x74], eax
push 1
lea eax, [esp + 0x74]
push eax
push dword [ebp + 8]
call fcn.007267c0
add esp, 0xc
movzx eax, byte [esp + 0x2c]
cmp al, 5
je 0x650788
mov ecx, dword [esp + 0x30]
cmp al, 4
jne 0x65094a
mov eax, dword [edi + 0xb8]
mov edx, dword [edi + 0xbc]
mov esi, 0
sub ebx, eax
cmovb ebx, esi
test edx, edx
cmovne ebx, esi
cmp ebx, ecx
jb 0x650a5c
add eax, ecx
adc edx, 0
mov dword [edi + 0xb8], eax
mov dword [edi + 0xbc], edx
jmp 0x64f60f
test ecx, ecx
je 0x64fc78
xor eax, eax
cmp ecx, 1
jne 0x64fc7b
mov eax, dword [edi + 0x7c]
mov ecx, 0
sub eax, dword [edi + 0x80]
cmovb eax, ecx
cmp dword [edi + 0x84], 0
cmovne eax, ecx
jmp 0x64fc7b
mov eax, dword [edi + 0x7c]
mov ecx, dword [edi + 0x88]
cmp eax, ecx
cmovb ecx, eax
test ecx, ecx
je 0x64f600
mov eax, dword [0x94bccc]
test eax, eax
je 0x64fcf1
mov eax, dword [edi + 0x70]
mov edx, dword [edi + 0xac]
mov ecx, dword [edi + 0xbc]
mov ebx, dword [edi + 0xb8]
test eax, eax
mov dword [esp + 0x48], edx
je 0x64fe34
xor esi, esi
cmp eax, 1
jne 0x64fe37
mov esi, dword [edi + 0x7c]
mov edx, eax
mov eax, edi
sub esi, dword [edi + 0x80]
mov edi, 0
cmovb esi, edi
xor edi, edi
cmp dword [eax + 0x84], 0
cmovne esi, edi
mov edi, eax
mov eax, edx
mov edx, dword [esp + 0x48]
jmp 0x64fe37
movzx eax, byte [0x94a9d8]
test al, al
je 0x64fc97
movzx eax, al
cmp eax, 1
je 0x64fd1f
cmp eax, 2
je 0x64fd63
mov ecx, 0x94a9d0
call fcn.007d3740
test al, al
je 0x64fc97
movzx eax, al
cmp eax, 2
je 0x64fd63
mov eax, dword [0x94a9d0]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x64fc97
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x64fd53
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x64fc97
mov eax, dword [0x94a9d0]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x650a63
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea esi, [esp + 0x2c]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], 0x8a99d8
mov dword [esp + 0x54], 0x8a99dc
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x4c]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 0x1c]
movlps qword [esp + 0x34], xmm0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x5c]
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x64fc97
cmp dword [0x94bcc0], 0
mov ebx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x64fe0f
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea ebx, [eax + ebx + 8]
lea eax, [esp + 0x70]
push eax
push ebx
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x64fc97
lea eax, [esp + 0x70]
push eax
push ebx
call dword [esi + 0x2c]
add esp, 8
jmp 0x64fc97
mov esi, dword [edi + 0x7c]
sub edx, ebx
mov ebx, 0
cmovb edx, ebx
test ecx, ecx
mov ecx, dword [edi + 0x88]
cmovne edx, ebx
cmp esi, ecx
cmovae esi, ecx
or esi, edx
je 0x64f60f
xor esi, esi
cmp dword [edi + 0xbc], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0x93d1f8
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0x93d1f8
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0x93d1f8
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0x93d1f8
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0x93d1f8
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0x93d1f8
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0x93d1f8
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0x93d1f8
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0x93d1f8
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0x93d1f8
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0x93d1f8
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0x93d1f8
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 0x93d1f8
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0x93d1f8
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0x93d1f8
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0x93d1f8
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0x93d1f8
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0x93d1f8
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0x93d1f8
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0x93d1f8
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0x93d1f8
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0x93d1f8
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0x93d1f8
mov dword [esp + 0x128], 0
mov dword [esp + 0x12c], 0x93d1f8
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0x93d1f8
mov dword [esp + 0x138], 0
mov dword [esp + 0x13c], 0x93d1f8
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0x93d1f8
mov dword [esp + 0x148], 0
mov dword [esp + 0x14c], 0x93d1f8
mov dword [esp + 0x150], 0
mov dword [esp + 0x154], 0x93d1f8
mov dword [esp + 0x158], 0
mov dword [esp + 0x15c], 0x93d1f8
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0x93d1f8
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0x93d1f8
mov dword [esp + 0x170], 0
mov dword [esp + 0x174], 0x93d1f8
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], 0x93d1f8
mov dword [esp + 0x180], 0
mov dword [esp + 0x184], 0x93d1f8
mov dword [esp + 0x188], 0
mov dword [esp + 0x18c], 0x93d1f8
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0x93d1f8
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0x93d1f8
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x1a4], 0x93d1f8
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1ac], 0x93d1f8
mov dword [esp + 0x1b0], 0
mov dword [esp + 0x1b4], 0x93d1f8
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0x93d1f8
mov dword [esp + 0x1c0], 0
mov dword [esp + 0x1c4], 0x93d1f8
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1cc], 0x93d1f8
mov dword [esp + 0x1d0], 0
mov dword [esp + 0x1d4], 0x93d1f8
mov dword [esp + 0x1d8], 0
mov dword [esp + 0x1dc], 0x93d1f8
mov dword [esp + 0x1e0], 0
mov dword [esp + 0x1e4], 0x93d1f8
mov dword [esp + 0x1e8], 0
mov dword [esp + 0x1ec], 0x93d1f8
mov dword [esp + 0x1f0], 0
mov dword [esp + 0x1f4], 0x93d1f8
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1fc], 0x93d1f8
mov dword [esp + 0x200], 0
mov dword [esp + 0x204], 0x93d1f8
mov dword [esp + 0x208], 0
mov dword [esp + 0x20c], 0x93d1f8
mov dword [esp + 0x210], 0
mov dword [esp + 0x214], 0x93d1f8
mov dword [esp + 0x218], 0
mov dword [esp + 0x21c], 0x93d1f8
mov dword [esp + 0x220], 0
mov dword [esp + 0x224], 0x93d1f8
mov dword [esp + 0x228], 0
mov dword [esp + 0x22c], 0x93d1f8
mov dword [esp + 0x230], 0
mov dword [esp + 0x234], 0x93d1f8
mov dword [esp + 0x238], 0
mov dword [esp + 0x23c], 0x93d1f8
mov dword [esp + 0x240], 0
mov dword [esp + 0x244], 0x93d1f8
mov dword [esp + 0x248], 0
mov dword [esp + 0x24c], 0x93d1f8
mov dword [esp + 0x250], 0
mov dword [esp + 0x254], 0x93d1f8
mov dword [esp + 0x258], 0
mov dword [esp + 0x25c], 0x93d1f8
mov dword [esp + 0x260], 0
mov dword [esp + 0x264], 0x93d1f8
mov dword [esp + 0x268], 0
mov dword [esp + 0x26c], 0x93d1f8
jne 0x6503fb
mov edx, dword [edi + 0xb8]
sub dword [esp + 0x48], edx
jbe 0x6503fb
mov ebx, dword [esp + 0x44]
add edx, dword [ebx]
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x70], ebx
mov ebx, 1
mov dword [esp + 0x74], edx
test eax, eax
je 0x6505ae
cmp eax, 1
jne 0x650423
mov esi, dword [edi + 0x7c]
mov edx, 0
sub esi, dword [edi + 0x80]
cmovb esi, edx
cmp dword [edi + 0x84], 0
cmovne esi, edx
cmp esi, ecx
cmovae esi, ecx
test esi, esi
je 0x6505be
test eax, eax
je 0x6505c2
cmp eax, 1
jne 0x6505ca
mov edx, dword [edi + 0x7c]
mov eax, dword [edi + 0x80]
cmp eax, edx
cmovae eax, edx
cmp dword [edi + 0x84], 0
cmovne eax, edx
sub edx, eax
add eax, dword [edi + 0x78]
jmp 0x6505d1
movzx eax, byte [0x94a9e4]
test al, al
je 0x64f645
movzx eax, al
cmp eax, 1
je 0x650499
cmp eax, 2
je 0x6504dd
mov ecx, 0x94a9dc
call fcn.007d3740
test al, al
je 0x64f645
movzx eax, al
cmp eax, 2
je 0x6504dd
mov eax, dword [0x94a9dc]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x64f645
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x6504cd
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x64f645
mov eax, dword [0x94a9dc]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x650a77
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea esi, [esp + 0x2c]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], 0x8a99fc
mov dword [esp + 0x54], 0x8a99dc
mov dword [esp + 0x2c], edx
lea edx, [esp + 0x4c]
mov dword [esp + 0x30], ecx
lea ecx, [eax + 0x1c]
movlps qword [esp + 0x34], xmm0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x5c]
mov dword [esp + 0x60], 1
mov dword [esp + 0x64], ecx
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x64f645
cmp dword [0x94bcc0], 0
mov ebx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x650589
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea ebx, [eax + ebx + 8]
lea eax, [esp + 0x70]
push eax
push ebx
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x64f645
lea eax, [esp + 0x70]
push eax
push ebx
call dword [esi + 0x2c]
add esp, 8
jmp 0x64f645
mov esi, dword [edi + 0x7c]
cmp esi, ecx
cmovae esi, ecx
test esi, esi
jne 0x650430
xor eax, eax
jmp 0x6505e3
mov eax, dword [edi + 0x78]
mov edx, dword [edi + 0x7c]
jmp 0x6505d1
mov eax, 0x93d1f8
xor edx, edx
cmp edx, ecx
cmovb ecx, edx
mov dword [esp + ebx*8 + 0x70], ecx
mov dword [esp + ebx*8 + 0x74], eax
mov eax, 1
mov edx, dword [esp + 0x58]
add eax, ebx
lea ecx, [esp + 0x2c]
push eax
lea eax, [esp + 0x74]
push eax
push dword [ebp + 8]
call fcn.007267c0
add esp, 0xc
movzx ecx, byte [esp + 0x2c]
cmp cl, 5
je 0x650788
mov eax, dword [esp + 0x30]
cmp cl, 4
jne 0x6507a0
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 4]
push eax
call fcn.00665ea0
add esp, 4
jmp 0x64f60f
mov eax, dword [0x94bccc]
test eax, eax
je 0x6507cb
mov eax, dword [esp]
mov byte [eax], 4
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x65096c
jmp 0x6509e3
movzx eax, byte [0x94a9cc]
test al, al
je 0x64f5d1
movzx eax, al
cmp eax, 1
je 0x65068a
cmp eax, 2
je 0x6506ce
mov ecx, 0x94a9c4
call fcn.007d3740
test al, al
je 0x64f5d1
movzx eax, al
cmp eax, 2
je 0x6506ce
mov eax, dword [0x94a9c4]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x64f5d1
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x6506be
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x64f5d1
mov ecx, dword [0x94a9c4]
mov dword [esp + 0x2c], 0x93d1f8
mov dword [esp + 0x30], 0
lea eax, [ecx + 0x1c]
mov dword [esp + 0x34], eax
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x6509eb
cmp dword [0x94bcc0], 0
mov esi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ebx, dword [0x94bcc8]
lea eax, [esp + 0x2c]
mov dword [esp + 0x80], ecx
mov dword [esp + 4], ecx
mov dword [esp + 0x84], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 1
je 0x650a1f
mov eax, dword [ebx + 8]
lea ecx, [esp + 0x70]
dec eax
and eax, 0xfffffff8
lea eax, [eax + esi + 8]
push ecx
push eax
call dword [ebx + 0x1c]
add esp, 8
lock inc dword [esi]
jle 0x650a9f
mov dword [esp + 8], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], eax
mov eax, dword [ebx + 8]
dec eax
and eax, 0xfffffff8
lea esi, [eax + esi + 8]
jmp 0x650a4b
mov eax, dword [esp]
mov byte [eax], 5
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x65096c
jmp 0x6509e3
movzx edx, byte [esp + 0x2f]
mov esi, dword [esp]
movzx edi, word [esp + 0x2d]
mov byte [esi + 3], dl
mov word [esi + 1], di
mov byte [esi], cl
mov dword [esi + 4], eax
mov eax, dword [esp + 0x10]
cmp eax, 2
jne 0x65096c
jmp 0x6509e3
movzx eax, byte [0x94a9f0]
test al, al
je 0x65063c
movzx eax, al
cmp eax, 1
je 0x650801
cmp eax, 2
je 0x650845
mov ecx, 0x94a9e8
call fcn.007d3740
test al, al
je 0x65063c
movzx eax, al
cmp eax, 2
je 0x650845
mov eax, dword [0x94a9e8]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x65063c
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x650835
mov esi, dword [ecx + 8]
dec esi
and esi, 0xfffffff8
lea edx, [esi + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x65063c
mov eax, dword [0x94a9e8]
mov ecx, dword [eax + 0x20]
test ecx, ecx
je 0x650a8b
mov edx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea esi, [esp + 0x2c]
mov dword [esp + 0x2c], 0x8a9a20
mov dword [esp + 0x30], 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], 0x93d1f8
mov dword [esp + 0x38], 0
mov dword [esp + 0x5c], edx
lea edx, [esp + 0x5c]
mov dword [esp + 0x60], ecx
movlps qword [esp + 0x64], xmm0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x270], edx
lea edx, [esp + 0x270]
mov dword [esp + 0x274], esi
lea esi, [eax + 0x1c]
mov dword [esp + 0x278], 0x8a682c
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x4c]
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], esi
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x65063c
cmp dword [0x94bcc0], 0
mov edi, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov esi, dword [0x94bcc8]
je 0x650925
mov eax, dword [esi + 8]
dec eax
and eax, 0xfffffff8
lea edi, [eax + edi + 8]
lea eax, [esp + 0x70]
push eax
push edi
call dword [esi + 0x28]
add esp, 8
test al, al
je 0x65063c
lea eax, [esp + 0x70]
push eax
push edi
call dword [esi + 0x2c]
add esp, 8
jmp 0x65063c
movzx edx, byte [esp + 0x2f]
mov esi, dword [esp]
movzx edi, word [esp + 0x2d]
mov byte [esi + 3], dl
mov word [esi + 1], di
mov byte [esi], al
mov dword [esi + 4], ecx
mov eax, dword [esp + 0x10]
cmp eax, 2
je 0x6509e3
test eax, eax
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
je 0x650983
mov edx, dword [eax + 8]
dec edx
and edx, 0xfffffff8
lea ecx, [edx + ecx + 8]
lea edx, [esp + 8]
push edx
push ecx
call dword [eax + 0x34]
add esp, 8
mov edx, dword [esp + 0x10]
cmp edx, 2
je 0x6509e3
test edx, edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
je 0x6509b7
mov edi, dword [edx + 8]
dec edi
and edi, 0xfffffff8
lea esi, [edi + esi + 8]
push ecx
push eax
push esi
call dword [edx + 0x40]
add esp, 0xc
mov eax, dword [esp + 0x10]
cmp eax, 2
je 0x6509e3
test eax, eax
je 0x6509e3
mov eax, dword [esp + 0x14]
lock dec dword [eax]
jne 0x6509e3
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
call fcn.0075aba0
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xdead
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set
mov dword [esp + 0x18], 0x93b6a0
mov esi, str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set
mov ebx, 0x93b6a0
jmp 0x650a47
lea eax, [esp + 0x70]
push eax
push esi
call dword [ebx + 0x1c]
add esp, 8
mov ecx, dword [esp + 4]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x20], ecx
lea eax, [esp + 8]
push eax
push esi
call dword [ebx + 0x30]
add esp, 8
jmp 0x64f5e1
mov edx, ebx
call fcn.007c1920
mov ecx, 0x8a6758
mov edx, 0x22
push 0x8a99c8
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x8a99ec
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x8a9a00
call fcn.007c2000
ud2