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

Disassembly:
mov ecx, dword [0x6dabbb00]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x12c]
cmp eax, dword [ecx + 8]
jbe 0x6d977d12
sub esp, 0x1ac
mov ebx, dword [esp + 0x1b4]
movzx ebp, byte [ebx]
xchg ebp, eax
cmp al, 9
xchg ebp, eax
ja 0x6d976d1b
xchg ebp, eax
cmp al, 4
xchg ebp, eax
ja 0x6d976842
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jbe 0x6d9766df
xchg ebp, eax
cmp al, 3
xchg ebp, eax
jne 0x6d97667e
mov ebp, dword [ebx + 0x18]
test ebp, ebp
je 0x6d976561
mov dword [esp + 0x90], ebp
mov esi, dword [esp + 0x1b0]
xor eax, eax
xor ecx, ecx
xor edx, edx
xor edi, edi
xor eax, eax
mov dword [esp + 0x54], eax
xor eax, eax
jmp 0x6d977b98
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x90], edx
lea edi, [esp + 0x17c]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0x17c], 6
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
inc ebp
mov eax, dword [ecx]
cmp ebx, ebp
jae 0x6d976605
mov dword [esp + 0xa0], ecx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d9765f6
call fcn.6d928990
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, edx
mov eax, ecx
mov ecx, ebx
mov edx, dword [esp + 0x90]
mov dword [ecx + 4], ebp
mov ecx, dword [0x6dabbba8]
lea ebx, [ebp + ebp*2]
lea edi, [eax + ebx*8 - 0x18]
test ecx, ecx
je 0x6d97664c
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x17c]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0x17c]
call fcn.6d929054
mov dword [esp + 0x1b8], edx
shl edx, 1
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], 1
add esp, 0x1ac
ret
mov eax, dword [ebx + 0x14]
mov ecx, dword [ebx + 0x18]
mov edx, dword [ebx + 0x1c]
movzx ebx, word [ebx + 2]
mov ebp, dword [esp + 0x1b0]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], bx
call fcn.6d978390
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x20]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], bl
add esp, 0x1ac
ret
xchg ebp, eax
cmp al, 1
xchg ebp, eax
je 0x6d976812
xchg ebp, eax
cmp al, 2
xchg ebp, eax
jne 0x6d9778ac
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x90], edx
lea edi, [esp + 0x194]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0x194], 6
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
inc ebp
mov eax, dword [ecx]
cmp ebx, ebp
jae 0x6d976799
mov dword [esp + 0xa0], ecx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d97678a
call fcn.6d928990
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, edx
mov eax, ecx
mov ecx, ebx
mov edx, dword [esp + 0x90]
mov dword [ecx + 4], ebp
mov ecx, dword [0x6dabbba8]
lea ebx, [ebp + ebp*2]
lea edi, [eax + ebx*8 - 0x18]
test ecx, ecx
je 0x6d9767e0
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x194]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0x194]
call fcn.6d929054
mov dword [esp + 0x1b8], edx
shl edx, 1
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], 1
add esp, 0x1ac
ret
mov dword [esp + 0x1b8], 0
mov dword [esp + 0x1bc], 0
mov dword [esp + 0x1c0], 0
mov byte [esp + 0x1c4], 0
add esp, 0x1ac
ret
xchg ebp, eax
cmp al, 6
xchg ebp, eax
ja 0x6d976924
xchg ebp, eax
cmp al, 5
xchg ebp, eax
jne 0x6d9768bc
mov eax, dword [0x6d9a5650]
mov ecx, dword [0x6d9a5654]
mov edx, dword [0x6d9a5658]
mov ebx, dword [esp + 0x1b0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], 0
call fcn.6d978390
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x20]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], bl
add esp, 0x1ac
ret
mov eax, dword [0x6d9a5660]
mov ecx, dword [0x6d9a5664]
mov edx, dword [0x6d9a5668]
mov ebx, dword [esp + 0x1b0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov word [esp + 0x10], 0
call fcn.6d978390
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x20]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], bl
add esp, 0x1ac
ret
xchg ebp, eax
cmp al, 7
xchg ebp, eax
jne 0x6d976a7a
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x90], edx
lea edi, [esp + 0x164]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0x164], 3
mov ecx, dword [esp + 0x1b0]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 8]
mov eax, dword [ebx + 4]
inc eax
mov esi, dword [ebx]
cmp ebp, eax
jae 0x6d9769d8
mov dword [esp + 0xa0], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d9769c4
call fcn.6d928990
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, edx
mov esi, ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov dword [ebx + 4], eax
mov ebx, dword [0x6dabbba8]
lea ebp, [eax + eax*2]
lea edi, [esi + ebp*8 - 0x18]
test ebx, ebx
je 0x6d976a25
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x164]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0x164]
call fcn.6d929054
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
cmp edx, ebx
jae 0x6d977b5b
mov eax, dword [ecx]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*8 + 8]
mov dword [eax], 1
mov dword [esp + 0x1b8], edx
shl edx, 1
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], 1
add esp, 0x1ac
ret
xchg ebp, eax
cmp al, 8
xchg ebp, eax
jne 0x6d976bd0
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x90], edx
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0x14c], 3
mov ecx, dword [esp + 0x1b0]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 8]
mov eax, dword [ebx + 4]
inc eax
mov esi, dword [ebx]
cmp ebp, eax
jae 0x6d976b2e
mov dword [esp + 0xa0], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d976b1a
call fcn.6d928990
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, edx
mov esi, ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov dword [ebx + 4], eax
mov ebx, dword [0x6dabbba8]
lea ebp, [eax + eax*2]
lea edi, [esi + ebp*8 - 0x18]
test ebx, ebx
je 0x6d976b7b
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x14c]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0x14c]
call fcn.6d929054
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
cmp edx, ebx
jae 0x6d977b52
mov eax, dword [ecx]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*8 + 8]
mov dword [eax], 2
mov dword [esp + 0x1b8], edx
shl edx, 1
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], 1
add esp, 0x1ac
ret
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x90], edx
lea edi, [esp + 0x134]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0x134], 3
mov ecx, dword [esp + 0x1b0]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 8]
mov eax, dword [ebx + 4]
inc eax
mov esi, dword [ebx]
cmp ebp, eax
jae 0x6d976c79
mov dword [esp + 0xa0], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d976c65
call fcn.6d928990
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, edx
mov esi, ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov dword [ebx + 4], eax
mov ebx, dword [0x6dabbba8]
lea ebp, [eax + eax*2]
lea edi, [esi + ebp*8 - 0x18]
test ebx, ebx
je 0x6d976cc6
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x134]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0x134]
call fcn.6d929054
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
cmp edx, ebx
jae 0x6d977b49
mov eax, dword [ecx]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*8 + 8]
mov dword [eax], 4
mov dword [esp + 0x1b8], edx
shl edx, 1
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], 1
add esp, 0x1ac
ret
xchg ebp, eax
cmp al, 0xd
xchg ebp, eax
ja 0x6d977433
xchg ebp, eax
cmp al, 0xb
xchg ebp, eax
jbe 0x6d977192
xchg ebp, eax
cmp al, 0xc
xchg ebp, eax
je 0x6d977047
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
mov ebp, dword [ebx + 0x30]
mov dword [esp + 0x90], ebp
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x8c], edx
lea edi, [esp + 0xd4]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0xd4], 2
mov ecx, dword [esp + 0x1b0]
mov esi, dword [ecx]
mov edi, dword [esi + 8]
mov eax, dword [esi + 4]
inc eax
mov ebx, dword [esi]
cmp edi, eax
jae 0x6d976df8
mov dword [esp + 0xa0], esi
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d976ddb
call fcn.6d928990
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov ebp, dword [esp + 0x90]
mov esi, ebx
mov eax, edx
mov ebx, ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x8c]
mov dword [esi + 4], eax
mov esi, dword [0x6dabbba8]
lea eax, [eax + eax*2]
lea edi, [ebx + eax*8 - 0x18]
test esi, esi
je 0x6d976e4c
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea ecx, [esp + 0xd4]
mov dword [esp + 8], ecx
call fcn.6d8d2960
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0xd4]
call fcn.6d929054
mov ecx, dword [esp + 0x1b0]
mov ebx, dword [ecx]
mov eax, dword [ebx + 4]
cmp edx, eax
jae 0x6d977b40
shl ebp, 1
mov ebx, dword [ebx]
lea esi, [edx + edx*2]
lea ebx, [ebx + esi*8 + 8]
mov dword [ebx], ebp
mov ebx, dword [ecx]
inc ebp
cmp dword [ebx + 0x10], ebp
jge 0x6d976e84
mov dword [ebx + 0x10], ebp
mov ebx, dword [esp + 0x1b4]
mov ebp, dword [ebx + 8]
test ebp, ebp
jbe 0x6d977b37
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.6d9764e0
mov eax, dword [esp + 0x1b0]
mov ecx, dword [eax]
mov edx, dword [esp + 8]
mov dword [esp + 0x88], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x84], ebx
movzx ebp, byte [esp + 0x14]
xchg ebp, eax
mov byte [esp + 0x3b], al
xchg ebp, eax
mov esi, dword [esp + 0x1b4]
mov esi, dword [esi + 0x30]
mov dword [esp + 0x90], esi
nop
mov ecx, dword [ecx + 4]
mov dword [esp + 0x80], ecx
lea edi, [esp + 0xbc]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0xbc], 2
mov eax, dword [esp + 0x1b0]
mov ecx, dword [eax]
mov edi, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edi, ebx
jae 0x6d976f8b
mov dword [esp + 0xa0], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d976f6e
call fcn.6d928990
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, dword [esp + 0x1b0]
mov esi, dword [esp + 0x90]
mov ebp, ecx
mov ecx, ebx
mov ebx, edx
mov edx, dword [esp + 0x88]
mov dword [ecx + 4], ebx
mov ecx, dword [0x6dabbba8]
lea ebx, [ebx + ebx*2]
lea edi, [ebp + ebx*8 - 0x18]
test ecx, ecx
je 0x6d976fdf
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xbc]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov eax, dword [esp + 0x1b0]
mov edx, dword [esp + 0x88]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0xbc]
call fcn.6d929054
mov ecx, dword [eax]
mov ebx, dword [ecx + 4]
mov ebp, dword [esp + 0x80]
cmp ebp, ebx
jae 0x6d977b2e
mov ebx, dword [esp + 0x90]
shl ebx, 1
or ebx, 1
mov esi, dword [ecx]
lea edi, [ebp + ebp*2]
lea esi, [esi + edi*8 + 8]
mov dword [esi], ebx
mov esi, dword [eax]
inc ebx
cmp dword [esi + 0x10], ebx
jge 0x6d977022
mov dword [esi + 0x10], ebx
mov ebx, dword [esp + 0x8c]
test ebx, ebx
je 0x6d977031
test edx, edx
jne 0x6d97703c
xor esi, esi
xor ecx, ecx
xor edx, edx
jmp 0x6d977aa4
mov esi, ebx
shl ebx, 1
mov edi, dword [eax]
jmp 0x6d977a5e
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x90], edx
lea edi, [esp + 0xec]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0xec], 3
mov ecx, dword [esp + 0x1b0]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 8]
mov eax, dword [ebx + 4]
inc eax
mov esi, dword [ebx]
cmp ebp, eax
jae 0x6d9770f0
mov dword [esp + 0xa0], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d9770dc
call fcn.6d928990
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, edx
mov esi, ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov dword [ebx + 4], eax
mov ebx, dword [0x6dabbba8]
lea ebp, [eax + eax*2]
lea edi, [esi + ebp*8 - 0x18]
test ebx, ebx
je 0x6d97713d
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xec]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0xec]
call fcn.6d929054
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
cmp edx, ebx
jae 0x6d977a4c
mov eax, dword [ecx]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*8 + 8]
mov dword [eax], 0x20
mov dword [esp + 0x1b8], edx
shl edx, 1
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], 1
add esp, 0x1ac
ret
xchg ebp, eax
cmp al, 0xa
xchg ebp, eax
jne 0x6d9772e8
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x90], edx
lea edi, [esp + 0x11c]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0x11c], 3
mov ecx, dword [esp + 0x1b0]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 8]
mov eax, dword [ebx + 4]
inc eax
mov esi, dword [ebx]
cmp ebp, eax
jae 0x6d977246
mov dword [esp + 0xa0], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d977232
call fcn.6d928990
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, edx
mov esi, ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov dword [ebx + 4], eax
mov ebx, dword [0x6dabbba8]
lea ebp, [eax + eax*2]
lea edi, [esi + ebp*8 - 0x18]
test ebx, ebx
je 0x6d977293
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x11c]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0x11c]
call fcn.6d929054
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
cmp edx, ebx
jae 0x6d977a43
mov eax, dword [ecx]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*8 + 8]
mov dword [eax], 8
mov dword [esp + 0x1b8], edx
shl edx, 1
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], 1
add esp, 0x1ac
ret
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x90], edx
lea edi, [esp + 0x104]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0x104], 3
mov ecx, dword [esp + 0x1b0]
mov ebx, dword [ecx]
mov ebp, dword [ebx + 8]
mov eax, dword [ebx + 4]
inc eax
mov esi, dword [ebx]
cmp ebp, eax
jae 0x6d977391
mov dword [esp + 0xa0], ebx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d97737d
call fcn.6d928990
mov dword [edi], ecx
mov ebp, dword [ebx]
mov dword [edi + 4], ebp
mov dword [ebx], ecx
mov eax, edx
mov esi, ecx
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov dword [ebx + 4], eax
mov ebx, dword [0x6dabbba8]
lea ebp, [eax + eax*2]
lea edi, [esi + ebp*8 - 0x18]
test ebx, ebx
je 0x6d9773de
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0x104]
call fcn.6d929054
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 4]
cmp edx, ebx
jae 0x6d977a3a
mov eax, dword [ecx]
lea ecx, [edx + edx*2]
lea eax, [eax + ecx*8 + 8]
mov dword [eax], 0x10
mov dword [esp + 0x1b8], edx
shl edx, 1
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], 1
add esp, 0x1ac
ret
xchg ebp, eax
cmp al, 0xf
xchg ebp, eax
jbe 0x6d977664
xchg ebp, eax
cmp al, 0x10
xchg ebp, eax
je 0x6d9775c6
xchg ebp, eax
cmp al, 0x12
xchg ebp, eax
jne 0x6d977598
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x6d97747b
mov dword [esp + 0x90], ecx
mov eax, dword [ebx + 4]
mov dword [esp + 0x98], eax
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x6d9778e8
mov ecx, dword [esp + 0x1b0]
mov edx, dword [ecx]
nop
mov edx, dword [edx + 4]
mov dword [esp + 0x90], edx
lea edi, [esp + 0xa4]
xor eax, eax
call fcn.6d928b7a
mov byte [esp + 0xa4], 6
mov ecx, dword [esp + 0x1b0]
mov ecx, dword [ecx]
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
inc ebp
mov eax, dword [ecx]
cmp ebx, ebp
jae 0x6d97751f
mov dword [esp + 0xa0], ecx
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x6d9c09e0]
mov dword [esp + 0x10], eax
call fcn.6d90e910
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 8], eax
mov eax, dword [0x6dabbba8]
test eax, eax
je 0x6d977510
call fcn.6d928990
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, edx
mov eax, ecx
mov ecx, ebx
mov edx, dword [esp + 0x90]
mov dword [ecx + 4], ebp
mov ecx, dword [0x6dabbba8]
lea ebx, [ebp + ebp*2]
lea edi, [eax + ebx*8 - 0x18]
test ecx, ecx
je 0x6d977566
mov dword [esp + 0x9c], edi
lea eax, [0x6d9c09e0]
mov dword [esp], eax
mov dword [esp + 4], edi
lea eax, [esp + 0xa4]
mov dword [esp + 8], eax
call fcn.6d8d2960
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x9c]
lea esi, [esp + 0xa4]
call fcn.6d929054
mov dword [esp + 0x1b8], edx
shl edx, 1
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], 1
add esp, 0x1ac
ret
xchg ebp, eax
cmp al, 0x13
xchg ebp, eax
jne 0x6d9778ac
mov eax, dword [ebx + 8]
mov dword [esp + 0x90], eax
mov ecx, dword [ebx + 4]
mov dword [esp + 0x94], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x6d97787f
mov edx, dword [ebx + 8]
test edx, edx
jbe 0x6d9777cb
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1b0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.6d9764e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movzx ebx, byte [esp + 0x14]
mov ebp, dword [esp + 0x1b4]
movzx ebp, word [ebp + 2]
mov esi, dword [esp + 0x1b0]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], bl
test bp, 0x20
setne al
mov byte [esp + 0x14], al
call fcn.6d977f30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
movzx ebx, byte [esp + 0x24]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], bl
add esp, 0x1ac
ret
xchg ebp, eax
cmp al, 0xe
xchg ebp, eax
jne 0x6d97770d
mov edx, dword [ebx + 8]
test edx, edx
jbe 0x6d9777c2
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1b0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.6d9764e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movzx ebx, byte [esp + 0x14]
mov ebp, dword [esp + 0x1b4]
movzx ebp, word [ebp + 2]
mov esi, dword [esp + 0x1b0]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], bl
test bp, 0x20
setne al
mov byte [esp + 0x14], al
call fcn.6d978280
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
movzx ebx, byte [esp + 0x24]
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x1c0], edx
mov byte [esp + 0x1c4], bl
add esp, 0x1ac
ret
mov edx, dword [ebx + 8]
test edx, edx
jbe 0x6d9777b9
mov eax, dword [ebx + 4]
mov eax, dword [eax]
mov ecx, dword [esp + 0x1b0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.6d9764e0
mov eax, dword [esp + 8]
mov dword [esp + 0x88], eax
movzx ecx, byte [esp + 0x14]
mov byte [esp + 0x3b], cl
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1b4]
movzx ebp, word [ebp + 2]
mov esi, dword [esp + 0x1b0]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov byte [esp + 0x10], cl
test bp, 0x20
setne dl
mov byte [esp + 0x14], dl
call fcn.6d9780e0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x88]
mov dword [esp + 0x1b8], edx
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], ecx
movzx eax, byte [esp + 0x3b]
mov byte [esp + 0x1c4], al
add esp, 0x1ac
ret
xor eax, eax
mov ecx, eax
call fcn.6d928a00
xor eax, eax
mov ecx, eax
call fcn.6d928a00
xor eax, eax
mov ecx, eax
call fcn.6d928a00
mov dword [esp + 0x50], ebx
mov dword [esp + 0x58], ebp
xchg edi, eax
mov byte [esp + 0x38], al
xchg edi, eax
mov dword [esp + 0x64], esi
mov dword [esp + 0x8c], edx
mov eax, dword [ecx + edx*4]
mov ebx, dword [esp + 0x1b0]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.6d9764e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movzx ebx, byte [esp + 0x14]
mov ebp, dword [esp + 0x1b0]
mov dword [esp], ebp
mov esi, dword [esp + 0x64]
mov dword [esp + 4], esi
mov esi, dword [esp + 0x58]
mov dword [esp + 8], esi
mov esi, dword [esp + 0x50]
mov dword [esp + 0xc], esi
movzx esi, byte [esp + 0x38]
xchg esi, eax
mov byte [esp + 0x10], al
xchg esi, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov byte [esp + 0x20], bl
call fcn.6d977d20
mov eax, dword [esp + 0x8c]
lea edx, [eax + 1]
mov esi, dword [esp + 0x24]
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
movzx edi, byte [esp + 0x30]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
cmp edx, eax
jl 0x6d9777d4
mov dword [esp + 0x1b8], esi
mov dword [esp + 0x1bc], ebp
mov dword [esp + 0x1c0], ebx
xchg edi, eax
mov byte [esp + 0x1c4], al
xchg edi, eax
add esp, 0x1ac
ret
lea eax, [0x6d9b74e0]
mov dword [esp], eax
lea eax, [0x6d9f3620]
mov dword [esp + 4], eax
call fcn.6d8f8e90
mov ebp, dword [esp + 0x40]
inc ebp
mov esi, eax
mov edi, ecx
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 0x90]
mov eax, edx
mov edx, ebp
mov ebp, eax
mov eax, dword [esp + 0x98]
cmp edx, ecx
jge 0x6d9779b5
mov dword [esp + 0x40], edx
mov edi, dword [eax + edx*4]
test edx, edx
jne 0x6d97792b
mov eax, dword [esp + 0x1b0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.6d9764e0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
movzx ebx, byte [esp + 0x14]
mov ebp, eax
mov eax, ecx
mov ecx, edx
mov edx, ebx
mov ebx, ebp
jmp 0x6d9778c4
xchg ebp, eax
mov byte [esp + 0x39], al
xchg ebp, eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x68], ebx
mov eax, dword [esp + 0x1b0]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.6d9764e0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
movzx edx, byte [esp + 0x14]
mov ebx, dword [esp + 0x68]
test ebx, ebx
je 0x6d977969
mov ebp, dword [esp + 8]
test ebp, ebp
jne 0x6d977976
xor ecx, ecx
xor ebx, ebx
xor eax, eax
xor edx, edx
jmp 0x6d9778c4
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
mov edi, dword [esp + 0x1b0]
mov esi, dword [edi]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x78]
jmp 0x6d9779f7
movzx ebp, byte [esp + 0x39]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x6d9778c4
xor edx, edx
jmp 0x6d9778c4
mov dword [esp + 0x1b8], ebx
mov dword [esp + 0x1bc], esi
mov dword [esp + 0x1c0], edi
xchg ebp, eax
mov byte [esp + 0x1c4], al
xchg ebp, eax
add esp, 0x1ac
ret
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x1b0]
mov edi, dword [esp + 0x44]
test edi, edi
je 0x6d97799f
mov eax, dword [esi + 4]
shr edi, 1
cmp eax, edi
jbe 0x6d977a31
mov eax, dword [esi]
lea edi, [edi + edi*2]
lea ecx, [eax + edi*8]
mov ebx, dword [esp + 0x44]
test ebx, 1
jne 0x6d977a26
lea ebx, [eax + edi*8 + 4]
mov edi, dword [ebx]
mov dword [ebx], ebp
jmp 0x6d9779da
lea ebx, [eax + edi*8 + 8]
mov edi, dword [ecx + 8]
mov dword [ebx], ebp
jmp 0x6d9779da
mov ecx, eax
mov eax, edi
call fcn.6d928a10
mov eax, edx
mov ecx, ebx
call fcn.6d928a10
mov eax, edx
mov ecx, ebx
call fcn.6d928a10
mov eax, edx
mov ecx, ebx
call fcn.6d928a10
mov ebx, ebp
mov ebp, dword [esp + 0x80]
test ebx, ebx
je 0x6d977a98
mov dword [esp + 0x48], ebx
mov ecx, dword [edi + 4]
shr ebx, 1
cmp ecx, ebx
jbe 0x6d977b27
mov ecx, dword [edi]
lea ebx, [ebx + ebx*2]
mov ebp, dword [esp + 0x48]
test ebp, 1
jne 0x6d977a8e
lea ebx, [ecx + ebx*8 + 4]
mov ebp, dword [ebx]
mov dword [ebx], edx
jmp 0x6d977a55
lea ebx, [ecx + ebx*8 + 8]
mov ebp, dword [ebx]
mov dword [ebx], edx
jmp 0x6d977a55
mov ecx, dword [esp + 0x84]
movzx edx, byte [esp + 0x3b]
test esi, esi
je 0x6d977ab4
test ebp, ebp
je 0x6d977ab4
mov byte [esp + 0x37], dl
mov ebx, dword [eax]
jmp 0x6d977ae4
xor eax, eax
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], eax
mov byte [esp + 0x1c4], dl
add esp, 0x1ac
ret
movzx edx, byte [esp + 0x37]
mov ecx, edi
test ecx, ecx
je 0x6d977b18
mov edi, dword [ebx + 4]
mov eax, ecx
shr eax, 1
cmp edi, eax
jbe 0x6d977b20
mov edi, dword [ebx]
lea eax, [eax + eax*2]
lea edx, [edi + eax*8]
test ecx, 1
jne 0x6d977b0d
lea edx, [edi + eax*8 + 4]
mov edi, dword [edx]
mov dword [edx], ebp
jmp 0x6d977add
lea eax, [edi + eax*8 + 8]
mov edi, dword [edx + 8]
mov dword [eax], ebp
jmp 0x6d977add
shl ebp, 1
mov eax, ebp
mov ecx, esi
jmp 0x6d977aba
mov ecx, edi
call fcn.6d928a10
mov eax, ebx
call fcn.6d928a10
mov eax, ebp
mov ecx, ebx
call fcn.6d928a10
xor eax, eax
mov ecx, eax
call fcn.6d928a00
mov ecx, eax
mov eax, edx
call fcn.6d928a10
mov eax, edx
mov ecx, ebx
call fcn.6d928a10
mov eax, edx
mov ecx, ebx
call fcn.6d928a10
mov eax, edx
mov ecx, ebx
call fcn.6d928a10
mov ebx, dword [esp + 0x1b4]
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0x1b0]
mov eax, dword [esp + 0x8c]
mov edi, esi
mov dword [esp + 0x54], edx
mov esi, dword [esp + 0x1b0]
mov edx, ecx
mov ecx, ebp
mov ebp, dword [esp + 0x90]
cmp eax, ebp
jge 0x6d977c77
xchg edi, eax
mov byte [esp + 0x3a], al
xchg edi, eax
mov dword [esp + 0x60], edx
mov edi, dword [ebx + 0x1c]
lea edx, [eax + 1]
cmp edi, edx
jb 0x6d977d08
cmp eax, edx
ja 0x6d977d01
mov dword [esp + 0x3c], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x6c], ecx
mov ecx, dword [ebx + 0x14]
sub edi, eax
mov edx, edi
xchg edi, ebx
neg ebx
xchg edi, ebx
shl eax, 2
sar edi, 0x1f
and eax, edi
add eax, ecx
movzx ecx, word [ebx + 2]
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], edx
mov word [esp + 0x10], cx
call fcn.6d978390
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ebx, byte [esp + 0x20]
mov ebp, dword [esp + 0x3c]
test ebp, ebp
jne 0x6d977c29
mov ebp, eax
mov esi, ebx
jmp 0x6d977b64
mov ebp, dword [esp + 0x6c]
test ebp, ebp
je 0x6d977c35
test eax, eax
jne 0x6d977c42
xor ecx, ecx
xor ebp, ebp
xor edx, edx
xor esi, esi
jmp 0x6d977b64
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
mov esi, dword [esp + 0x1b0]
mov edi, dword [esi]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x70]
jmp 0x6d977cbd
movzx esi, byte [esp + 0x3a]
and esi, ebx
jmp 0x6d977b64
mov dword [esp + 0x1b8], ecx
mov dword [esp + 0x1bc], edx
mov eax, dword [esp + 0x54]
mov dword [esp + 0x1c0], eax
xchg edi, eax
mov byte [esp + 0x1c4], al
xchg edi, eax
add esp, 0x1ac
ret
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x4c], esi
mov esi, dword [esp + 0x1b0]
mov esi, dword [esp + 0x4c]
test esi, esi
je 0x6d977c6b
mov ecx, dword [edi + 4]
shr esi, 1
cmp ecx, esi
jbe 0x6d977cfa
mov ecx, dword [edi]
lea esi, [esi + esi*2]
lea edx, [ecx + esi*8]
mov ebp, dword [esp + 0x4c]
test ebp, 1
jne 0x6d977cee
lea ebp, [ecx + esi*8 + 4]
mov esi, dword [ebp]
mov dword [ebp], eax
jmp 0x6d977ca0
lea ebp, [ecx + esi*8 + 8]
mov esi, dword [edx + 8]
mov dword [ebp], eax
jmp 0x6d977ca0
mov eax, esi
call fcn.6d928a10
mov ecx, edx
call fcn.6d928a60
mov ecx, edx
mov edx, edi
call fcn.6d928a40
nop
call fcn.6d927560
jmp fcn.6d9764e0