Function at 0x636eb0
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 + 0x40]
mov edi, edx
mov esi, ecx
cmp eax, 1
je 0x636f0b
cmp eax, 2
jne 0x6376fd
lea ebx, [edi + 0x48]
lea eax, [edi + 0xa8]
lea ecx, [esp + 0x8c]
mov edx, ebx
push eax
push dword [ebp + 8]
call fcn.0066c200
add esp, 8
cmp dword [esp + 0x8c], 0
je 0x636fb2
mov dword [esi], 2
jmp 0x6376b8
mov eax, dword [edi + 0x60]
mov ecx, dword [edi + 0x64]
mov ebx, 3
add eax, 0xfffffffd
adc ecx, 0xffffffff
xor edx, edx
cmp ebx, eax
mov ebx, dword [ebp + 8]
sbb edx, ecx
jb 0x636f92
test eax, eax
jne 0x636f92
mov eax, dword [0x94bccc]
test eax, eax
je 0x63701f
mov eax, dword [edi + 0xfc]
mov edx, dword [edi + 0x104]
sub eax, edx
cmp eax, 0x18
jbe 0x6376c0
mov eax, dword [edi + 0x100]
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 + 0x104], edx
mov dword [edi + 0x44], 0
mov dword [edi + 0x40], 2
mov ecx, esi
mov edx, edi
push ebx
call fcn.00636eb0
add esp, 4
jmp 0x6376b8
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 0x63719c
mov dword [esp + 0x60], eax
movzx eax, byte [ebx]
mov esi, edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], esi
mov dword [esp + 4], esi
cmp eax, 2
mov dword [esp + 0x88], edx
mov dword [esp + 0x6c], edx
je 0x6372f7
cmp eax, 1
jne 0x6374ae
cmp byte [edi + 0x49], 0xc
sete al
jmp 0x6372fb
movzx eax, byte [0x94aee8]
test al, al
je 0x636f38
movzx eax, al
cmp eax, 1
je 0x637055
cmp eax, 2
je 0x63709c
mov ecx, 0x94aee0
call fcn.007d3740
test al, al
je 0x636f38
movzx eax, al
cmp eax, 2
je 0x63709c
mov eax, dword [0x94aee0]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x636f38
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x63708c
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 0x636f38
mov eax, dword [0x94aee0]
mov edx, dword [eax + 0x20]
test edx, edx
je 0x637742
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 + 0x4c], ebx
mov dword [esp + 0x50], edx
lea edx, [esp + 0x4c]
movlps qword [esp + 0x54], xmm0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x60], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x64], edx
lea edx, [esp + 0x60]
mov dword [esp + 0x68], 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 0x637194
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ebx, dword [0x94bcc8]
je 0x637172
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 0x637194
lea eax, [esp + 0x30]
push eax
push dword [esp + 4]
call dword [ebx + 0x2c]
add esp, 8
mov ebx, dword [ebp + 8]
jmp 0x636f38
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov eax, dword [0x94bccc]
mov dword [esp + 0x48], ebx
mov dword [esp], ecx
cmp eax, 1
ja 0x6372e4
movzx eax, byte [0x94af0c]
test al, al
je 0x6372e4
movzx eax, al
cmp eax, 1
je 0x6371f3
cmp eax, 2
je 0x63723b
mov ecx, 0x94af04
mov esi, edx
call fcn.007d3740
test al, al
je 0x6376db
movzx eax, al
mov edx, esi
cmp eax, 2
je 0x63723b
mov eax, dword [0x94af04]
mov ecx, dword [0x94bfb8]
cmp ecx, 2
jne 0x6372e4
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 0x637229
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 0x6372e4
mov ecx, dword [0x94af04]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x63776a
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 + 0x70], edx
lea edx, [esp + 0x70]
mov dword [esp + 0x74], fcn.00717140
mov dword [esp + 0x38], edx
lea edx, [esp + 0x18]
mov dword [esp + 0x3c], 1
mov dword [esp + 0x60], edx
lea edx, [esp + 0x30]
mov dword [esp + 0x64], edx
lea edx, [esp + 0x60]
mov dword [esp + 0x68], 0x8a682c
mov dword [esp + 0x4c], edx
lea edx, [esp + 0x4c]
mov dword [esp + 0x50], 1
mov dword [esp + 0x54], eax
call fcn.007587f0
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp], eax
mov esi, edx
xor ecx, ecx
mov edx, 4
mov ebx, 1
jmp 0x637651
movzx eax, byte [edi + 0x49]
mov edx, dword [esp + 4]
mov esi, dword [esp + 8]
test al, al
je 0x6374c7
mov dword [esp + 0x48], ebx
mov eax, dword [0x94bccc]
mov dword [esp], ecx
cmp eax, 1
ja 0x637441
movzx eax, byte [0x94af00]
test al, al
je 0x637441
movzx eax, al
cmp eax, 1
je 0x63735e
cmp eax, 2
je 0x6373ac
mov ebx, ecx
mov ecx, 0x94aef8
mov esi, edx
call fcn.007d3740
mov ecx, ebx
mov edx, esi
test al, al
je 0x637441
movzx eax, al
cmp eax, 2
je 0x6373ac
mov eax, dword [0x94aef8]
mov esi, ecx
mov ecx, dword [0x94bfb8]
cmp ecx, 2
mov ecx, esi
jne 0x637441
cmp dword [0x94bcc0], 0
mov edx, dword [str.SetGlobalDefaultErrora_global_default_trace_dispatcher_has_already_been_set]
mov ecx, dword [0x94bcc8]
je 0x637396
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 + 4]
test al, al
mov ecx, esi
je 0x637441
mov ecx, dword [0x94aef8]
mov esi, edx
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x637756
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 + 0x4c], ebx
mov dword [esp + 0x50], edx
lea edx, [esp + 0x4c]
movlps qword [esp + 0x54], xmm0
mov dword [esp + 0x5c], 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 + 0x70], edx
lea edx, [esp + 0x70]
mov dword [esp + 0x74], 1
mov dword [esp + 0x78], eax
call fcn.007587f0
mov ecx, dword [esp]
mov edx, esi
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x38]
test ecx, ecx
mov ebx, 1
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 3
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 0x637644
jmp 0x637628
mov eax, dword [edi + 0x50]
mov edx, dword [esp + 4]
mov esi, dword [esp + 8]
or eax, dword [edi + 0x54]
sete al
test al, al
jne 0x63730b
test ecx, ecx
je 0x6374ec
movsd xmm0, qword [esp + 0x60]
movsd xmm1, qword [esp + 0x68]
movsd qword [esi + 0xc], xmm1
movsd qword [esi + 4], xmm0
mov dword [esi], 1
jmp 0x6376b8
mov dword [esp], ecx
mov eax, dword [0x94bccc]
mov dword [esp + 0x48], ebx
cmp eax, 4
ja 0x6375cd
movzx eax, byte [0x94aef4]
test al, al
je 0x6375cd
movzx ecx, al
cmp ecx, 1
je 0x637523
cmp ecx, 2
jne 0x6376e2
mov al, 2
mov ecx, dword [0x94aeec]
mov esi, edx
movzx edx, al
call fcn.007580e0
mov edx, esi
test al, al
je 0x6375cd
mov ecx, dword [0x94aeec]
mov edx, dword [ecx + 0x20]
test edx, edx
je 0x63777e
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 + 0x4c], ebx
mov dword [esp + 0x50], edx
lea edx, [esp + 0x4c]
movlps qword [esp + 0x54], xmm0
mov dword [esp + 0x5c], 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 + 0x70], edx
lea edx, [esp + 0x70]
mov dword [esp + 0x74], 1
mov dword [esp + 0x78], eax
call fcn.007587f0
mov edx, esi
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x30]
movsd xmm2, qword [esp + 0x38]
mov dword [esp + 0x80], 0
mov dword [esp + 0x7c], 4
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 + 0x6c]
push dword [esp]
push edx
push eax
mov eax, dword [esp + 0x90]
mov esi, edx
call dword [eax + 0xc]
mov edx, esi
add esp, 0xc
xor ebx, ebx
mov esi, edx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
movsd xmm0, qword [esp + 0xb0]
mov eax, dword [esp + 0x48]
movsd xmm2, qword [esp + 0xa0]
movsd xmm1, qword [esp + 0xa8]
movsd qword [eax + 0x10], xmm0
movsd qword [eax + 8], xmm1
movsd qword [eax], xmm2
mov dword [edi + 0x44], ecx
mov ecx, edi
mov dword [edi + 0x40], edx
call fcn.0066ad10
mov edx, dword [ebp + 8]
mov ecx, edi
call fcn.0066af10
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x84]
mov edi, dword [esp]
mov edx, dword [esp + 0x88]
mov dword [ecx], ebx
mov dword [ecx + 4], eax
mov dword [ecx + 0xc], edi
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 + 0xfc]
push 0x19
call fcn.007c54d0
add esp, 4
mov edx, dword [edi + 0x104]
jmp 0x636f4f
mov edx, esi
jmp 0x6372e4
mov ecx, 0x94aeec
mov esi, edx
call fcn.007d3740
mov edx, esi
test al, al
jne 0x637523
jmp 0x6375cd
add edi, 0x40
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