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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
mov eax, dword [edx + 0x3e8]
mov edi, edx
mov esi, ecx
cmp eax, 1
je 0x69e15b
cmp eax, 2
jne 0x69e96c
lea ebx, [edi + 0x3f0]
lea ecx, [esp + 0x8c]
mov edx, ebx
push edi
push dword [ebp + 8]
call fcn.006a0260
add esp, 8
cmp dword [esp + 0x8c], 0
je 0x69e20e
mov dword [esi], 2
jmp 0x69e927
mov eax, dword [edi + 0x408]
mov ecx, dword [edi + 0x40c]
mov ebx, 3
add eax, 0xfffffffd
adc ecx, 0xffffffff
xor edx, edx
cmp ebx, eax
mov ebx, dword [ebp + 8]
sbb edx, ecx
jb 0x69e1e8
test eax, eax
jne 0x69e1e8
mov eax, dword [0x94bccc]
test eax, eax
je 0x69e27d
mov eax, dword [edi + 0x360]
mov edx, dword [edi + 0x368]
sub eax, edx
cmp eax, 0x18
jbe 0x69e92f
mov eax, dword [edi + 0x364]
mov byte [eax + edx + 0x18], 0xa
mov dword [eax + edx + 0x14], 0xd0a0d65
mov dword [eax + edx + 0x10], 0x756e6974
mov dword [eax + edx + 0xc], 0x6e6f4320
mov dword [eax + edx + 8], 0x30303120
mov dword [eax + edx + 4], 0x312e312f
mov dword [eax + edx], 0x50545448
add edx, 0x19
mov dword [edi + 0x368], edx
mov dword [edi + 0x3ec], 0
mov dword [edi + 0x3e8], 2
mov ecx, esi
mov edx, edi
push ebx
call fcn.0069e100
add esp, 4
jmp 0x69e927
mov eax, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x98]
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 0x84], eax
je 0x69e3fa
mov dword [esp + 0x64], eax
movzx eax, byte [ebx]
mov esi, edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], esi
mov dword [esp], esi
cmp eax, 2
mov dword [esp + 0x88], edx
mov dword [esp + 0x70], edx
je 0x69e558
cmp eax, 1
jne 0x69e70f
cmp byte [edi + 0x3f1], 0xc
sete al
jmp 0x69e55f
movzx eax, byte [0x94aee8]
test al, al
je 0x69e18e
movzx eax, al
cmp eax, 1
je 0x69e2b3
cmp eax, 2
je 0x69e2fa
mov ecx, 0x94aee0
call fcn.007d3740
test al, al
je 0x69e18e
movzx eax, al
cmp eax, 2
je 0x69e2fa
mov eax, dword [0x94aee0]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x69e18e
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x69e2ea
mov ebx, dword [ecx + 8]
dec ebx
and ebx, 0xfffffff8
lea edx, [ebx + edx + 8]
mov ebx, dword [ebp + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
je 0x69e18e
mov eax, dword [0x94aee0]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x69e9b4
mov ebx, dword [eax + 0x1c]
movsd xmm0, qword [eax + 0x24]
lea ecx, [eax + 0x1c]
mov dword [esp + 0x18], 0x8ad328
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0x93d1f8
mov dword [esp + 0x24], 0
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], edx
lea edx, [esp + 0x50]
movlps qword [esp + 0x58], xmm0
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x68], edx
lea edx, [esp + 0x64]
mov dword [esp + 0x6c], 0x8a682c
mov dword [esp + 0x8c], edx
lea edx, [esp + 0x8c]
mov dword [esp + 0x90], 1
mov dword [esp + 0x94], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 1
mov eax, dword [0x94bfb8]
cmp eax, 2
jne 0x69e3f2
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ebx, dword [0x94bcc8]
je 0x69e3d0
mov eax, dword [ebx + 8]
dec eax
and eax, 0xfffffff8
lea edx, [eax + edx + 8]
lea eax, [esp + 0x30]
mov dword [esp], edx
push eax
push edx
call dword [ebx + 0x28]
add esp, 8
test al, al
je 0x69e3f2
lea eax, [esp + 0x30]
push eax
push dword [esp + 4]
call dword [ebx + 0x2c]
add esp, 8
mov ebx, dword [ebp + 8]
jmp 0x69e18e
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov eax, dword [0x94bccc]
mov dword [esp + 0x4c], ebx
mov dword [esp + 4], ecx
cmp eax, 1
ja 0x69e544
movzx eax, byte [0x94af0c]
test al, al
je 0x69e544
movzx eax, al
cmp eax, 1
je 0x69e452
cmp eax, 2
je 0x69e49a
mov ecx, 0x94af04
mov esi, edx
call fcn.007d3740
test al, al
je 0x69e94a
movzx eax, al
mov edx, esi
cmp eax, 2
je 0x69e49a
mov eax, dword [0x94af04]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x69e544
mov esi, edx
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x69e488
mov ebx, dword [ecx + 8]
dec ebx
and ebx, 0xfffffff8
lea edx, [ebx + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
test al, al
mov edx, esi
je 0x69e544
mov ecx, dword [0x94af04]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x69e9dc
mov ebx, dword [ecx + 0x1c]
movsd xmm0, qword [ecx + 0x24]
mov dword [esp + 0x30], 0x8ad3c4
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], 0
lea eax, [ecx + 0x1c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xc]
movlps qword [esp + 0x20], xmm0
mov dword [esp + 0x28], 0
mov dword [esp + 0x74], edx
lea edx, [esp + 0x74]
mov dword [esp + 0x78], fcn.00717140
mov dword [esp + 0x38], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x64], edx
lea edx, [esp + 0x30]
mov dword [esp + 0x68], edx
lea edx, [esp + 0x64]
mov dword [esp + 0x6c], 0x8a682c
mov dword [esp + 0x50], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x54], 1
mov dword [esp + 0x58], eax
call fcn.007587f0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 4], eax
mov dword [esp], edx
xor edx, edx
mov esi, 4
mov ebx, 1
jmp 0x69e8b2
movzx eax, byte [edi + 0x3f1]
mov edx, dword [esp]
mov esi, dword [esp + 8]
test al, al
je 0x69e72d
mov dword [esp + 0x4c], ebx
mov eax, dword [0x94bccc]
mov dword [esp + 4], ecx
cmp eax, 1
ja 0x69e6a5
movzx eax, byte [0x94af00]
test al, al
je 0x69e6a5
movzx eax, al
cmp eax, 1
je 0x69e5c2
cmp eax, 2
je 0x69e60f
mov ebx, ecx
mov ecx, 0x94aef8
mov esi, edx
call fcn.007d3740
mov ecx, ebx
mov edx, esi
test al, al
je 0x69e6a5
movzx eax, al
cmp eax, 2
je 0x69e60f
mov eax, dword [0x94aef8]
mov esi, ecx
mov ecx, dword [0x94bfb8]
cmp ecx, 2
mov ecx, esi
jne 0x69e6a5
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x69e5fa
mov ebx, dword [ecx + 8]
dec ebx
and ebx, 0xfffffff8
lea edx, [ebx + edx + 8]
push eax
push edx
call dword [ecx + 0x14]
add esp, 8
mov edx, dword [esp]
test al, al
mov ecx, esi
je 0x69e6a5
mov ecx, dword [0x94aef8]
mov esi, edx
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x69e9c8
mov ebx, dword [ecx + 0x1c]
movsd xmm0, qword [ecx + 0x24]
lea eax, [ecx + 0x1c]
mov dword [esp + 0x18], 0x8ad390
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0x93d1f8
mov dword [esp + 0x24], 0
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], edx
lea edx, [esp + 0x50]
movlps qword [esp + 0x58], xmm0
mov dword [esp + 0x60], 0
mov dword [esp + 0xc], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x10], edx
lea edx, [esp + 0xc]
mov dword [esp + 0x14], 0x8a682c
mov dword [esp + 0x74], edx
lea edx, [esp + 0x74]
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], eax
call fcn.007587f0
mov ecx, dword [esp + 4]
mov edx, esi
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x38]
test ecx, ecx
mov ecx, 3
mov ebx, 1
mov dword [esp + 0x80], 0
movsd qword [esp + 0xc8], xmm0
movsd qword [esp + 0xc0], xmm2
movsd qword [esp + 0xb8], xmm1
movsd qword [esp + 0xa0], xmm1
movsd qword [esp + 0xa8], xmm2
movsd qword [esp + 0xb0], xmm0
jne 0x69e8a9
jmp 0x69e88c
mov eax, dword [edi + 0x3f8]
mov edx, dword [esp]
mov esi, dword [esp + 8]
or eax, dword [edi + 0x3fc]
sete al
test al, al
jne 0x69e56e
test ecx, ecx
je 0x69e752
movsd xmm0, qword [esp + 0x64]
movsd xmm1, qword [esp + 0x6c]
movsd qword [esi + 0xc], xmm1
movsd qword [esi + 4], xmm0
mov dword [esi], 1
jmp 0x69e927
mov dword [esp + 4], ecx
mov eax, dword [0x94bccc]
mov dword [esp + 0x4c], ebx
cmp eax, 4
ja 0x69e834
movzx eax, byte [0x94aef4]
test al, al
je 0x69e834
movzx ecx, al
cmp ecx, 1
je 0x69e78a
cmp ecx, 2
jne 0x69e951
mov al, 2
mov ecx, dword [0x94aeec]
mov esi, edx
movzx edx, al
call fcn.007580e0
mov edx, esi
test al, al
je 0x69e834
mov ecx, dword [0x94aeec]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x69e9f0
mov ebx, dword [ecx + 0x1c]
movsd xmm0, qword [ecx + 0x24]
lea eax, [ecx + 0x1c]
mov dword [esp + 0x18], 0x8ad360
mov dword [esp + 0x1c], 1
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0x93d1f8
mov dword [esp + 0x24], 0
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], edx
lea edx, [esp + 0x50]
movlps qword [esp + 0x58], xmm0
mov dword [esp + 0x60], 0
mov dword [esp + 0xc], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x10], edx
lea edx, [esp + 0xc]
mov dword [esp + 0x14], 0x8a682c
mov dword [esp + 0x74], edx
lea edx, [esp + 0x74]
mov dword [esp + 0x78], 1
mov dword [esp + 0x7c], eax
call fcn.007587f0
mov edx, esi
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x38]
mov ecx, 4
mov dword [esp + 0x80], 0
movsd qword [esp + 0xc8], xmm0
movsd qword [esp + 0xc0], xmm2
movsd qword [esp + 0xb8], xmm1
movsd qword [esp + 0xa0], xmm1
movsd qword [esp + 0xa8], xmm2
movsd qword [esp + 0xb0], xmm0
lea eax, [esp + 0x70]
push dword [esp + 4]
push edx
push eax
mov eax, dword [esp + 0x90]
mov ebx, ecx
call dword [eax + 0xc]
mov ecx, ebx
add esp, 0xc
xor ebx, ebx
mov edx, dword [esp + 0x80]
mov esi, ecx
movsd xmm0, qword [esp + 0xb0]
mov eax, dword [esp + 0x4c]
movsd xmm2, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa8]
lea ecx, [edi + 0x3a8]
movsd qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov dword [edi + 0x3ec], edx
mov dword [edi + 0x3e8], esi
call fcn.0066ad10
mov edx, dword [ebp + 8]
mov ecx, edi
call fcn.0069fda0
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 4]
mov esi, dword [esp]
mov dword [ecx], ebx
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edx
mov edx, dword [esp + 0x88]
mov dword [ecx + 8], esi
mov dword [ecx + 0x10], edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [edi + 0x360]
push 0x19
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 0x368]
jmp 0x69e1a5
mov edx, esi
jmp 0x69e544
mov ecx, 0x94aeec
mov esi, edx
call fcn.007d3740
mov edx, esi
test al, al
jne 0x69e78a
jmp 0x69e834
add edi, 0x3e8
lea eax, [esp + 0x18]
lea ecx, [esp + 0x30]
mov edx, 0x8ad41c
mov dword [esp + 0x30], 0x8ad414
mov dword [esp + 0x34], 1
mov dword [esp + 0x40], 0
mov dword [esp + 0x18], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x1c], 0x66c0e0
mov dword [esp + 0x3c], 1
call fcn.007c1b50
mov ecx, 0x8a6758
mov edx, 0x22
push 0x8ad2f4
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x8ad368
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x8ad398
call fcn.007c2000
mov ecx, 0x8a6758
mov edx, 0x22
push 0x8ad330
call fcn.007c2000
int3