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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x9727c0]
xor eax, esp
mov dword [esp + 0x90], eax
mov eax, ecx
mov dword [esp + 4], edx
mov ecx, dword [ebp + 8]
push ebx
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax]
mov ebx, dword [eax + 8]
push esi
mov dword [esp + 0x14], ecx
mov ecx, ebx
push edi
mov dword [esp + 0x14], eax
mov dword [esp + 0x68], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], ebx
call fcn.006a30f0
mov ecx, ebx
mov dword [esp + 0x44], eax
call fcn.006a30f0
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], eax
mov esi, dword [ecx + 0x38]
movzx eax, byte [ecx + 4]
mov edx, dword [ecx + 0x3c]
cmp eax, 0x71
mov dword [esp + 0x3c], eax
mov edi, dword [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mov dword [esp + 0x38], esi
mov dword [esp + 0x34], edi
je 0x6d3429
cmp byte [eax + 0x38], 0
mov edi, 1
jne 0x6d3425
mov eax, dword [esp + 0x34]
lea eax, [eax + eax*2]
shl eax, 3
mov dword [esp + 0x24], eax
jmp 0x6d3340
mov eax, dword [ecx]
cmp edi, dword [eax]
jg 0x6d341d
mov eax, dword [esp + 0x34]
xor ecx, ecx
mov edx, dword [esi + 8]
test eax, eax
jle 0x6d3377
add edx, 0x14
mov ebx, eax
lea esp, [esp]
movzx eax, word [edx]
cmp eax, edi
je 0x6d336f
inc ecx
add edx, 0x18
cmp ecx, ebx
jl 0x6d3360
mov ebx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
cmp ecx, eax
jne 0x6d33ef
mov ecx, dword [esp + 0x18]
mov edx, 0x2d
call fcn.006878a0
mov esi, eax
test esi, esi
je 0x6d3403
push 0x2d
push 0
push esi
call fcn.007389c0
mov edx, dword [esp + 0x44]
or eax, 0xffffffff
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov word [esi + 0x1e], ax
mov eax, 0x400
mov byte [esi], 0x81
mov byte [esi + 0x2c], 0
or word [esi + 2], ax
push esi
mov dword [esi + 0x14], 1
mov dword [esi + 4], edi
call fcn.006b45a0
mov esi, eax
add esp, 4
mov dword [esp + 0x38], esi
test esi, esi
je 0x6d33ef
mov ecx, dword [esp + 0x24]
mov eax, dword [esi + 8]
inc dword [esp + 0x34]
mov word [eax + ecx + 0x14], di
add ecx, 0x18
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x18]
inc edi
cmp byte [edx + 0x38], 0
jne 0x6d3423
mov ecx, dword [esp + 0x10]
jmp 0x6d3340
mov eax, 7
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.0073167f
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x18]
jmp 0x6d3425
mov eax, edx
mov edi, dword [esp + 0x34]
lea edx, [edi*4]
mov ecx, eax
call fcn.006878a0
mov dword [esp + 0x70], eax
test eax, eax
je 0x6d35ed
mov edx, dword [esi + 8]
xor ecx, ecx
test edi, edi
jle 0x6d3464
add edx, 0x14
mov ebx, eax
movzx eax, word [edx]
lea edx, [edx + 0x18]
dec eax
mov dword [ebx + ecx*4], eax
inc ecx
cmp ecx, edi
jl 0x6d3451
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
lea edx, [edi + 4]
lea edx, [edi + edx*4]
call fcn.006878a0
mov ecx, eax
mov dword [esp + 0x50], ecx
test ecx, ecx
je 0x6d35f5
lea eax, [edi + 3]
mov word [ecx + 6], di
lea eax, [ecx + eax*4]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
xor ecx, ecx
mov dword [esp + 0x1c], ecx
test edi, edi
jle 0x6d35f5
mov eax, dword [esp + 0x50]
xor edx, edx
mov ebx, dword [esp + 0x34]
add eax, 0xc
mov dword [esp + 0x28], edx
mov dword [esp + 0x40], eax
mov eax, dword [esi + 8]
mov edi, dword [edx + eax]
mov eax, 0x100
test word [edi + 2], ax
je 0x6d34e8
mov ecx, dword [esp + 0x14]
mov edx, edi
call fcn.006b3030
mov edx, dword [esp + 0x28]
mov esi, eax
jmp 0x6d35ad
mov eax, dword [esp + 0x70]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov edx, dword [ecx + 0x3c]
test edx, edx
je 0x6d351b
mov ecx, dword [esp + 0x14]
push eax
call fcn.006d2530
mov esi, eax
add esp, 4
test esi, esi
jne 0x6d3542
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
jmp 0x6d351d
xor esi, esi
mov edx, dword [ecx]
cmp eax, dword [edx]
jge 0x6d3537
mov edx, dword [edx + 8]
lea eax, [eax + eax*2]
mov ecx, dword [esp + 0x14]
mov edx, dword [edx + eax*8]
call fcn.006b3030
mov esi, eax
test esi, esi
jne 0x6d3542
mov eax, dword [esp + 0x18]
mov esi, dword [eax + 8]
mov ecx, dword [esi]
mov eax, ecx
mov dword [esp + 0x5c], ecx
test ecx, ecx
jne 0x6d3554
mov dword [esp + 0x60], ecx
jmp 0x6d359f
cmp byte [ecx], 0
je 0x6d3566
lea esp, [esp]
inc eax
cmp byte [eax], 0
jne 0x6d3560
sub eax, ecx
and eax, 0x3fffffff
mov dword [esp + 0x60], eax
jbe 0x6d359f
lea eax, [esp + 0x5c]
mov edx, 0x5c
push 1
push eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
call fcn.006b3540
add esp, 8
test eax, eax
je 0x6d359f
mov ecx, 0x100
mov dword [eax + 8], edi
or word [eax + 2], cx
mov edi, eax
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x28]
mov eax, dword [eax + 8]
mov dword [edx + eax], edi
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x1c]
add dword [esp + 0x40], 4
mov dword [eax], esi
mov esi, dword [esp + 0x38]
mov ecx, dword [ecx + 8]
mov eax, dword [esi + 8]
mov al, byte [eax + edx + 0xc]
add edx, 0x18
mov byte [edi + ecx], al
mov ecx, edi
inc ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x1c], ecx
cmp ecx, ebx
jl 0x6d34c1
mov ebx, dword [esp + 0x30]
jmp 0x6d35f5
mov dword [esp + 0x50], 0
mov edi, dword [esp + 0x10]
mov edx, esi
push 0
mov dword [edi + 0x38], esi
mov esi, dword [esp + 0x18]
mov ecx, dword [esi]
call fcn.006b3f70
mov ecx, dword [esp + 0x4c]
add esp, 4
cmp dword [esp + 0x3c], 0x71
mov dword [ecx + 0x38], eax
jne 0x6d3629
mov dword [esp + 0x20], 0
jmp 0x6d3746
mov eax, dword [edi]
mov edi, dword [eax]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x24], edi
lea ecx, [eax + 1]
inc eax
add eax, edi
mov dword [esp + 0x20], ecx
mov dword [esi + 0x4c], eax
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3654
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3688
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x20]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x18]
lea esi, [edi + 4]
lea esi, [edi + esi*4]
mov edx, esi
call fcn.006878a0
mov ecx, eax
mov dword [esp + 0x2c], ecx
test ecx, ecx
je 0x6d373e
push esi
push 0
push ecx
call fcn.007389c0
mov ecx, dword [esp + 0x38]
add esp, 0xc
test ecx, ecx
je 0x6d373e
lea eax, [edi + 3]
mov word [ecx + 6], di
lea eax, [ecx + eax*4]
xor esi, esi
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
test edi, edi
jle 0x6d373e
xor ebx, ebx
lea edi, [ecx + 0xc]
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x3c]
test edx, edx
je 0x6d3705
mov ecx, dword [esp + 0x14]
push esi
call fcn.006d2530
add esp, 4
test eax, eax
jne 0x6d3720
jmp 0x6d3707
xor eax, eax
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
cmp esi, dword [edx]
jge 0x6d3720
mov edx, dword [edx + 8]
mov ecx, dword [esp + 0x14]
mov edx, dword [edx + ebx]
call fcn.006b3030
mov dword [edi], eax
add ebx, 0x18
mov eax, dword [esp + 0x2c]
add edi, 4
mov eax, dword [eax + 8]
mov byte [esi + eax], 0
inc esi
cmp esi, dword [esp + 0x24]
jl 0x6d36e7
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push 0x8d21dc
push dword [edi + 0x38]
mov edx, edi
mov dword [edi + 0x3c], 0
mov ecx, esi
call fcn.006b2830
mov eax, dword [esp + 0x50]
add esp, 8
cmp dword [eax + 0x3c], 0
jne 0x6d377f
push 0x8d21dc
push dword [eax + 0x38]
mov edx, eax
mov ecx, esi
call fcn.006b2830
add esp, 8
push dword [esp + 0x44]
mov edx, edi
mov ecx, esi
call fcn.006d2370
add esp, 4
cmp dword [edi + 8], 0
je 0x6d3918
cmp dword [esp + 0x3c], 0x71
jne 0x6d3918
mov edi, dword [esi + 0x4c]
mov ecx, dword [esp + 0x10]
inc edi
lea eax, [edi + 1]
mov dword [esp + 0x1c], eax
mov dword [esi + 0x4c], eax
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x6d37c0
inc eax
jmp 0x6d37c3
mov eax, dword [ecx + 8]
mov esi, dword [ebx + 0x1c]
mov dword [esp + 0x24], eax
cmp dword [ebx + 0x20], esi
jg 0x6d37da
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d380a
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x24]
mov word [eax + ecx*4], 0xe
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d381d
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d384d
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x1c]
mov word [eax + ecx*4], 0xe
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edi
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x48]
call fcn.006b3b80
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
mov edx, dword [eax + 0x4c]
mov dword [eax + 0x48], 0
call fcn.006b3b80
mov eax, dword [esp + 0x10]
mov word [esp + 0x8c], 0xa
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [eax + 0x4c], 0
inc dword [esi + 0x4c]
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0x90], ecx
mov word [esp + 0x7c], 0xa
mov dword [esp + 0x84], 0
lea eax, [ecx + 1]
mov dword [esp + 0x88], 0
lea edx, [eax + 1]
mov dword [esp + 0x30], eax
lea eax, [edx + 1]
mov dword [esp + 0x80], edx
mov dword [esp + 0x28], eax
add eax, 2
mov dword [esi + 0x4c], eax
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x38], ecx
mov dword [esp + 0x40], edx
mov dword [esp + 0x64], eax
cmp dword [ebx + 0x20], eax
jg 0x6d392b
mov ecx, ebx
call fcn.006a2d50
test eax, eax
je 0x6d3927
mov dword [esp + 0x64], 1
jmp 0x6d395f
mov dword [esp + 0x1c], 0
xor edi, edi
jmp 0x6d3851
mov eax, dword [esp + 0x64]
inc dword [ebx + 0x1c]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x48]
mov edx, ecx
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x78], eax
mov dword [ecx + 8], edi
mov ecx, esi
mov eax, dword [esi + 0x1e8]
mov dword [esp + 0x5c], eax
lea eax, [esp + 0x8c]
push eax
call fcn.006d6250
mov esi, dword [ebx + 0x1c]
add esp, 4
cmp dword [ebx + 0x20], esi
jg 0x6d399e
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d39d2
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d39e5
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3a19
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x38]
mov word [eax + ecx*4], 4
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x1c]
mov edi, dword [ecx + 8]
mov esi, dword [ecx + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x14]
mov dword [ecx + 0xc], 0
mov edx, dword [eax + 0x1e8]
mov dword [esp + 0x74], edx
lea edx, [esp + 0x7c]
push edx
mov edx, ecx
mov ecx, eax
call fcn.006d6250
mov eax, dword [esp + 0x14]
add esp, 4
mov dword [eax + 8], edi
mov dword [eax + 0xc], esi
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3a74
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3aaa
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edi, dword [esp + 0x28]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x6d3aae
mov edi, dword [esp + 0x28]
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3ac1
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3af5
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 4
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push dword [esp + 0x44]
mov esi, dword [esp + 0x24]
lea eax, [edi + 1]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
push 0xfffffffffffffff0
push dword [esp + 0x34]
push esi
push eax
push dword [esp + 0x68]
lea eax, [esp + 0xa4]
push eax
call fcn.006d2e50
mov edi, eax
add esp, 0x1c
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x1c], edi
cmp eax, 0x71
je 0x6d3b38
cmp eax, 0x70
jne 0x6d3b6e
push dword [esp + 0x44]
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x80]
mov ecx, dword [esp + 0x18]
push 0xffffffffffffffef
push dword [esp + 0x34]
push esi
push dword [esp + 0x68]
push dword [esp + 0x68]
push eax
call fcn.006d2e50
mov dword [esp + 0x84], eax
add esp, 0x1c
mov eax, dword [esp + 0x3c]
cmp eax, 0x72
je 0x6d3cc7
cmp eax, 0x73
je 0x6d3cc7
mov edx, dword [ebx + 0x1c]
mov dword [esp + 0x20], edx
cmp dword [ebx + 0x20], edx
jg 0x6d3ba5
mov ecx, ebx
call fcn.006a2d50
test eax, eax
je 0x6d3ba1
mov dword [esp + 0x20], 1
jmp 0x6d3bd9
mov edx, dword [esp + 0x20]
mov eax, dword [ebx + 4]
lea ecx, [edx + edx*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x28]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x1b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3bec
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3c20
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x68]
mov word [eax + ecx*4], 2
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3c33
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3c67
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 4
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3c7a
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3cae
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x20]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x10]
movsd xmm0, qword [edx + 0x20]
addsd xmm0, qword [ecx + 0x20]
movsd qword [ecx + 0x20], xmm0
jmp 0x6d3d24
mov esi, dword [ebx + 0x1c]
mov dword [esp + 0x20], esi
cmp dword [ebx + 0x20], esi
jg 0x6d3ce8
mov ecx, ebx
call fcn.006a2d50
test eax, eax
je 0x6d3ce8
mov dword [esp + 0x20], 1
jmp 0x6d3d1c
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x48]
cmp dword [esp + 0x3c], 0x73
jne 0x6d3d51
movsd xmm1, qword [edx + 0x20]
movsd xmm0, qword [ecx + 0x20]
comisd xmm0, xmm1
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
jbe 0x6d3e7c
movsd qword [ecx + 0x20], xmm1
jmp 0x6d3e7c
mov edx, dword [ebx + 0x1c]
mov dword [esp + 0x2c], edx
cmp dword [ebx + 0x20], edx
jg 0x6d3d76
mov ecx, ebx
call fcn.006a2d50
test eax, eax
je 0x6d3d72
mov dword [esp + 0x2c], 1
jmp 0x6d3daa
mov edx, dword [esp + 0x2c]
mov eax, dword [ebx + 4]
lea ecx, [edx + edx*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x44]
mov word [eax + ecx*4], 0x1b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3dbd
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3dee
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x28]
inc edx
mov word [eax + ecx*4], 2
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3e01
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3e35
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x38]
mov word [eax + ecx*4], 4
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3e48
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3e7c
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x2c]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x24], edi
cmp dword [ebx + 0x20], edi
jg 0x6d3e9e
mov ecx, ebx
call fcn.006a2d50
test eax, eax
je 0x6d3e9e
mov edi, 1
mov dword [esp + 0x24], edi
jmp 0x6d3ed3
mov eax, dword [ebx + 4]
lea ecx, [edi + edi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x28]
inc edx
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov word [eax + ecx*4], 2
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3ee6
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3f1a
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x38]
mov word [eax + ecx*4], 4
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3f2d
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3f61
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov word [eax + ecx*4], 0x1b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d3f74
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d3fa8
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x4c]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x3c]
cmp eax, 0x71
jne 0x6d3fba
mov dword [esp + 0x1c], edi
jmp 0x6d40b4
cmp eax, 0x73
jne 0x6d3fcd
mov dword [esp + 0x1c], edi
inc edi
mov dword [esp + 0x24], edi
jmp 0x6d40b4
mov edi, dword [ebx + 0x1c]
mov dword [esp + 0x1c], edi
cmp dword [ebx + 0x20], edi
jg 0x6d3fee
mov ecx, ebx
call fcn.006a2d50
test eax, eax
je 0x6d3fee
mov dword [esp + 0x1c], 1
jmp 0x6d4022
mov eax, dword [ebx + 4]
lea ecx, [edi + edi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x38]
mov word [eax + ecx*4], 4
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d4035
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d4069
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov word [eax + ecx*4], 0x1b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d407c
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d40b0
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x4c]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x3c]
mov esi, dword [ebx + 0x1c]
mov dword [esp + 0x3c], esi
cmp eax, 0x71
je 0x6d40c5
cmp eax, 0x70
jne 0x6d4109
cmp dword [ebx + 0x20], esi
jg 0x6d40d5
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d4109
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x58]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x68]
mov word [eax + ecx*4], 2
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d411c
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d4150
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x40]
mov word [eax + ecx*4], 4
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d4163
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d4199
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x2c]
mov word [eax + ecx*4], 0x1b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
jmp 0x6d419d
mov edi, dword [esp + 0x2c]
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d41b0
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d41e4
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x4c]
mov word [eax + ecx*4], 1
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esp + 0x64]
test eax, eax
js 0x6d41fd
mov edx, dword [ebx + 0x1c]
cmp edx, eax
jbe 0x6d41fd
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 4]
mov dword [eax + ecx*4 + 8], edx
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d4210
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d4244
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x30]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d4257
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d428b
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x28]
mov word [eax + ecx*4], 7
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d429e
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d42d2
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x38]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x78]
mov word [eax + ecx*4], 2
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d42e5
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d4319
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x40]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x6c]
mov word [eax + ecx*4], 2
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d432c
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d4360
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x30]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x20]
mov word [eax + ecx*4], 0x1b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edx
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d4373
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d43a3
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x28]
mov word [eax + ecx*4], 0x1b
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edx
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x6d43bc
mov eax, dword [esp + 0x4c]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [ebx + 0x1c]
mov dword [ecx], eax
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d43d6
mov ecx, ebx
call fcn.006a2d50
test eax, eax
je 0x6d43d6
mov esi, 1
jmp 0x6d440a
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov word [eax + ecx*4], 0x17
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffff1
push dword [esp + 0x74]
mov edx, esi
mov ecx, ebx
call fcn.006a34a0
mov esi, dword [ebx + 0x1c]
add esp, 8
mov eax, dword [esp + 0x94]
mov edi, dword [esp + 0x84]
mov dword [esp + 0x6c], eax
cmp dword [ebx + 0x20], esi
jg 0x6d4448
mov ecx, ebx
call fcn.006a2d50
test eax, eax
je 0x6d4448
mov esi, 1
jmp 0x6d4478
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x34]
mov word [eax + ecx*4], 0x18
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 8], edi
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
push 0xfffffffffffffff0
push dword [esp + 0x54]
mov edx, esi
mov ecx, ebx
call fcn.006a34a0
mov ecx, dword [ebx + 4]
add esp, 8
test ecx, ecx
je 0x6d449c
mov eax, dword [ebx + 0x1c]
lea eax, [eax + eax*4]
mov byte [ecx + eax*4 - 0x11], 1
mov esi, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], esi
jg 0x6d44af
mov ecx, ebx
call fcn.006a2d50
test eax, eax
jne 0x6d44e3
mov eax, dword [ebx + 4]
lea ecx, [esi + esi*4]
inc dword [ebx + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [eax + ecx*4 + 4], edx
mov edx, dword [esp + 0x1c]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x3c]
mov word [eax + ecx*4], 0x19
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 0xc], edx
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x6d44fc
mov eax, dword [esp + 0x44]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [ebx + 0x1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x54]
cmp byte [eax], 5
jne 0x6d452f
mov eax, dword [esp + 0x48]
mov ecx, eax
mov eax, dword [eax + 0x3c]
test eax, eax
je 0x6d451b
mov ecx, eax
mov eax, dword [ecx + 0x3c]
test eax, eax
jne 0x6d4512
push dword [ecx]
mov ebx, dword [esp + 0x18]
xor edx, edx
mov ecx, ebx
call fcn.006d1cc0
add esp, 4
jmp 0x6d4533
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
mov esi, dword [eax + 0x3c]
test esi, esi
je 0x6d45a8
mov edi, dword [esp + 0x18]
mov ecx, edi
mov edx, dword [esi]
call fcn.006b4770
mov edx, dword [esi + 0x28]
mov ecx, edi
call fcn.006bfdf0
mov edx, dword [esi + 0x2c]
mov ecx, edi
call fcn.006b3b80
mov edx, dword [esi + 0x30]
mov ecx, edi
call fcn.006b4770
mov edx, dword [esi + 0x34]
mov ecx, edi
call fcn.006b3b80
mov edx, dword [esi + 0x38]
mov ecx, edi
call fcn.006b4770
mov edx, dword [esi + 0x3c]
mov ecx, edi
call fcn.006cff90
mov edx, dword [esi + 0x48]
mov ecx, edi
call fcn.006b3b80
mov edx, dword [esi + 0x4c]
mov ecx, edi
call fcn.006b3b80
mov edx, esi
mov ecx, edi
call fcn.00687650
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x3c], ecx
cmp byte [ebx + 0x1d4], 2
jne 0x6d4676
movzx eax, byte [eax + 4]
mov edi, dword [ebx + 8]
sub eax, 0x71
je 0x6d45e3
dec eax
je 0x6d45dc
dec eax
je 0x6d45d5
mov eax, 0x8d414c
jmp 0x6d45e8
mov eax, 0x8d4080
jmp 0x6d45e8
mov eax, 0x8d4154
jmp 0x6d45e8
mov eax, 0x8d408c
push eax
push 0x7f220f
push dword [esp + 0x7c]
push dword [esp + 0x68]
push 0x8d419c
push dword [ebx]
call fcn.00688c90
mov dword [esp + 0x8c], eax
add esp, 0x18
mov eax, dword [ebx + 0x1e4]
mov ebx, dword [edi + 0x1c]
mov dword [esp + 0x5c], eax
cmp dword [edi + 0x20], ebx
jg 0x6d4630
mov ecx, edi
call fcn.006a2d50
test eax, eax
je 0x6d4630
mov ebx, 1
jmp 0x6d4664
mov eax, dword [edi + 4]
lea esi, [ebx + ebx*4]
inc dword [edi + 0x1c]
mov ecx, dword [esp + 0x5c]
mov word [eax + esi*4], 0x96
mov byte [eax + esi*4 + 3], 0
mov dword [eax + esi*4 + 4], ecx
mov dword [eax + esi*4 + 8], 0
mov dword [eax + esi*4 + 0xc], 0
mov dword [eax + esi*4 + 0x10], 0
push 0xffffffffffffffff
push dword [esp + 0x78]
mov edx, ebx
mov ecx, edi
call fcn.006a34a0
add esp, 8
mov ecx, dword [esp + 0x9c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0073167f
mov esp, ebp
pop ebp
ret