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

Disassembly:
mov eax, 0x102197ef
call fcn.10210210
sub esp, 0x94
push ebx
mov ebx, dword [esp + 0xc0]
mov eax, ecx
mov dword [esp + 0x1c], eax
push ebp
push esi
push edi
test ebx, ebx
jne 0x100772cd
call fcn.10075cfe
mov ebx, eax
mov dword [esp + 0xcc], ebx
test ebx, ebx
je 0x10078037
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x34]
test al, al
jne 0x10078037
xor esi, esi
mov dword [esp + 0x5c], esi
and dword [esp + 0xac], esi
mov ecx, ebx
mov eax, dword [ebx]
call dword [eax + 0x18]
test al, al
je 0x10077343
push ebx
lea ecx, [esp + 0x60]
call fcn.1000fd16
mov esi, dword [esp + 0x5c]
test esi, esi
je 0x10077343
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x94]
test al, al
je 0x10077343
mov al, byte [esi + 0xe8]
test al, al
je 0x10077343
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x7c]
push eax
lea ecx, [esp + 0x60]
call fcn.1000fd16
mov esi, dword [esp + 0x5c]
mov ecx, esi
call fcn.100f6f0a
mov ebx, esi
mov dword [esp + 0xcc], ebx
mov ebp, dword [esp + 0xc0]
mov ecx, dword [ebp + 0x80]
test ecx, ecx
je 0x10077365
mov eax, dword [ebx]
push ecx
mov ecx, ebx
call dword [eax + 0x44]
mov ebx, eax
mov dword [esp + 0xcc], ebx
mov eax, dword [ebp + 8]
xor ecx, ecx
cmp eax, 0x80000000
cmove eax, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xc4]
mov ecx, dword [eax + 8]
mov edi, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov dword [esp + 0x50], eax
inc ecx
mov dword [esp + 0x1c], eax
mov eax, SysReAllocStringLen
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edx
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], edx
cmp dword [ebp + 0xc], eax
je 0x10077509
cmp dword [ebp + 0xc], ecx
jne 0x1007740d
mov edi, dword [esp + 0xbc]
lea ecx, [esp + 0x60]
and dword [esp + 0x2c], 0
and dword [esp + 0x30], 0
push ecx
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xa0]
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x78]
call fcn.1000e87b
mov ecx, dword [eax]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x4c], ecx
mov eax, dword [eax + 0xc]
mov dword [esp + 0x50], eax
jmp 0x10077510
cmp dword [ebp + 0xc], eax
je 0x10077509
cmp dword [ebp + 0xc], 2
jne 0x10077509
mov edi, dword [esp + 0x28]
lea ecx, [esp + 0x90]
push dword [esp + 0xbc]
push ecx
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x480]
mov edx, dword [eax + 0xc]
sub edx, dword [eax + 4]
mov ecx, dword [eax + 8]
inc edx
sub ecx, dword [eax]
lea eax, [esp + 0x2c]
inc ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x70]
push eax
mov eax, dword [edi]
push ecx
mov ecx, edi
call dword [eax + 0x464]
push eax
lea ecx, [esp + 0x88]
call fcn.1000e87b
mov ebx, dword [eax]
mov dword [esp + 0x44], ebx
mov ebp, dword [eax + 4]
mov dword [esp + 0x48], ebp
mov ecx, dword [eax + 8]
mov dword [esp + 0x4c], ecx
mov edx, dword [eax + 0xc]
mov eax, dword [edi + 0x98]
mov dword [esp + 0x50], edx
mov dword [esp + 0x18], ecx
sub ecx, ebx
mov dword [esp + 0x1c], edx
sub edx, ebp
inc edx
mov dword [esp + 0x10], ebx
inc ecx
mov dword [esp + 0x60], ebx
cmp ecx, eax
mov dword [esp + 0x14], ebp
cmovl ecx, eax
mov eax, dword [edi + 0x9c]
cmp edx, eax
cmovl edx, eax
dec ecx
add ebx, ecx
mov ecx, dword [esp + 0x28]
lea edi, [edx - 1]
mov eax, dword [ecx]
lea edx, [esp + 0x2c]
push edx
add edi, ebp
call dword [eax + 0x170]
mov eax, dword [esp + 0x60]
sub ebp, dword [esp + 0x30]
sub ebx, dword [esp + 0x2c]
sub eax, dword [esp + 0x2c]
sub edi, dword [esp + 0x30]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0xc0]
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0xcc]
mov dword [esp + 0x10], eax
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0xbc]
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x10], 0x3d
je 0x10077520
cmp dword [eax + 0x10], 0x3e
jne 0x1007754b
mov eax, dword [edi]
lea ecx, [esp + 0x60]
and dword [esp + 0x2c], 0
and dword [esp + 0x30], 0
push ecx
mov ecx, edi
call dword [eax + 0xa0]
push eax
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x88]
call fcn.1000e87b
mov eax, dword [ebx]
lea ecx, [esp + 0x34]
push ecx
mov ecx, ebx
call dword [eax + 0x2c]
lea ecx, [ebp + 0x60]
cmp dword [ecx], 0
mov dword [esp + 0x60], ecx
ja 0x10077602
cmp dword [ebp + 0x70], 0
ja 0x10077602
cmp dword [esp + 0x58], 0x14
mov ebx, dword [esp + 0x10]
jne 0x100775f9
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x14]
sub ecx, ebp
mov eax, dword [esp + 0x18]
inc ecx
movd xmm0, dword [esp + 0x34]
sub eax, ebx
movd xmm1, dword [esp + 0x38]
inc eax
cvtdq2pd xmm0, xmm0
movd xmm2, eax
movd xmm3, ecx
cvtdq2pd xmm2, xmm2
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm3, xmm3
divsd xmm2, xmm0
divsd xmm3, xmm1
comisd xmm3, xmm2
jbe 0x100775ca
mulsd xmm0, xmm2
mulsd xmm1, xmm2
jmp 0x100775d2
mulsd xmm0, xmm3
mulsd xmm1, xmm3
cvttsd2si edi, xmm1
lea ecx, [ebp - 1]
lea eax, [ebx - 1]
cvttsd2si edx, xmm0
add ecx, edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x1c], ecx
add eax, edx
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], eax
jmp 0x10077737
mov edi, dword [esp + 0x38]
jmp 0x10077737
mov edi, dword [esp + 0x38]
test edi, edi
jne 0x1007761a
movsd xmm0, qword [0x10270d68]
movsd qword [esp + 0x2c], xmm0
jmp 0x10077636
movd xmm1, dword [esp + 0x34]
movd xmm0, edi
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
movsd qword [esp + 0x2c], xmm1
cmp dword [ecx], 6
push 0x60
pop ebx
jne 0x1007767b
cmp dword [ecx + 4], 0x1a
jne 0x1007767b
call fcn.10108e0f
imul eax, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
cdq
idiv ebx
mov dword [esp + 0x34], eax
mov ebx, dword [esp + 0x28]
cmp dword [ebp + 0x70], 6
jne 0x100776b2
cmp dword [ebp + 0x74], 0x1a
jne 0x100776b2
call fcn.10108e0f
imul eax, dword [esp + 0x38]
push 0x60
pop ecx
cdq
idiv ecx
jmp 0x100776e2
cmp dword [ecx], 0
jbe 0x10077659
cmp dword [ecx], 6
jne 0x1007768b
cmp dword [ecx + 4], 0xa
je 0x10077659
cmp dword [ecx], 4
mov ebx, dword [esp + 0x28]
je 0x1007765d
mov edx, dword [esp + 0xc4]
mov eax, dword [edx + 8]
sub eax, dword [edx]
inc eax
push eax
push ebx
call fcn.1008687b
mov edi, dword [esp + 0x38]
mov dword [esp + 0x34], eax
jmp 0x1007765d
cmp dword [ebp + 0x70], 0
jbe 0x100776e8
cmp dword [ebp + 0x70], 6
jne 0x100776c4
cmp dword [ebp + 0x74], 0xa
je 0x100776e8
cmp dword [ebp + 0x70], 4
je 0x100776e8
mov ecx, dword [esp + 0xc4]
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 4]
lea ecx, [ebp + 0x70]
inc eax
push eax
push ebx
call fcn.10086b23
mov edi, eax
mov dword [esp + 0x38], edi
mov eax, dword [esp + 0x60]
cmp dword [eax], 6
jne 0x1007770f
cmp dword [eax + 4], 0xa
jne 0x1007770f
movd xmm0, edi
cvtdq2pd xmm0, xmm0
mulsd xmm0, qword [esp + 0x2c]
cvttsd2si eax, xmm0
mov dword [esp + 0x34], eax
jmp 0x10077733
cmp dword [ebp + 0x70], 6
jne 0x10077733
cmp dword [ebp + 0x74], 0xa
jne 0x10077733
movd xmm0, dword [esp + 0x34]
cvtdq2pd xmm0, xmm0
divsd xmm0, qword [esp + 0x2c]
cvttsd2si edi, xmm0
mov dword [esp + 0x38], edi
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0xc0]
xor ecx, ecx
mov ebp, ecx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x60], ecx
lea ecx, [eax + 0x10]
mov dword [esp + 0x40], 0x64
mov edx, dword [ecx]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x3c], edx
test edx, edx
je 0x100777d0
lea ecx, [eax + 0x30]
call fcn.1002b139
test al, al
je 0x100777cc
cmp dword [esp + 0x3c], 3
jne 0x100777b6
mov eax, dword [esp + 0x54]
cmp dword [eax], 3
jne 0x1007778c
movzx eax, word [eax + 4]
movsx ebp, ax
jmp 0x1007778e
xor ebp, ebp
mov eax, ebp
imul eax, dword [esp + 0x34]
cdq
idiv dword [esp + 0x40]
mov ecx, eax
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x44]
inc eax
imul eax, ebp
cdq
idiv dword [esp + 0x40]
mov ebp, eax
sub ebp, ecx
jmp 0x100778fb
mov ecx, dword [esp + 0x54]
push 0
push dword [esp + 0x2c]
call fcn.1008687b
mov ebp, eax
jmp 0x100778f3
mov ecx, dword [esp + 0x54]
call fcn.1002b139
test al, al
je 0x10077848
mov ecx, dword [esp + 0xc0]
add ecx, 0x30
cmp dword [ecx], ebp
jbe 0x10077848
cmp dword [ecx], 3
mov ebp, dword [esp + 0x4c]
jne 0x1007782d
movzx eax, word [ecx + 4]
cwde
mov dword [esp + 0x20], eax
imul eax, dword [esp + 0x34]
cdq
idiv dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov ecx, eax
mov dword [esp + 0x3c], edx
mov eax, ebp
sub eax, edx
inc eax
imul eax, dword [esp + 0x20]
cdq
idiv dword [esp + 0x40]
sub ebp, eax
sub ebp, dword [esp + 0x34]
sub ebp, dword [esp + 0x3c]
add ebp, ecx
jmp 0x100778fb
sub ebp, dword [esp + 0x44]
push 0
push dword [esp + 0x2c]
inc ebp
call fcn.1008687b
sub ebp, dword [esp + 0x34]
sub ebp, eax
jmp 0x100778f3
mov ecx, dword [esp + 0x54]
call fcn.1002b139
test al, al
jne 0x100778fb
mov ecx, dword [esp + 0xc0]
add ecx, 0x30
mov dword [esp + 0x20], ecx
call fcn.1002b139
test al, al
jne 0x100778fb
cmp dword [esp + 0x3c], 3
jne 0x100778a2
mov eax, dword [esp + 0x54]
cmp dword [eax], 3
jne 0x1007788d
movzx eax, word [eax + 4]
movsx ecx, ax
jmp 0x1007788f
xor ecx, ecx
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x44]
inc eax
imul eax, ecx
cdq
idiv dword [esp + 0x40]
jmp 0x100778b9
mov ecx, dword [esp + 0x54]
push 0
push dword [esp + 0x2c]
call fcn.1008687b
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov ebp, eax
mov eax, dword [esp + 0x20]
cmp dword [eax], 3
jne 0x100778e2
movzx eax, word [eax + 4]
movsx ecx, ax
mov eax, dword [esp + 0x4c]
sub eax, dword [esp + 0x44]
inc eax
imul eax, ecx
cdq
idiv dword [esp + 0x40]
mov dword [esp + 0x70], eax
jmp 0x100778fb
push 0
push dword [esp + 0x2c]
mov ecx, eax
call fcn.1008687b
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0xc0]
lea ecx, [eax + 0x20]
mov edx, dword [ecx]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x20], edx
test edx, edx
je 0x1007799a
lea ecx, [eax + 0x40]
call fcn.1002b139
test al, al
je 0x10077996
cmp dword [esp + 0x20], 3
jne 0x1007796e
mov eax, dword [esp + 0x3c]
cmp dword [eax], 3
jne 0x1007793a
movzx eax, word [eax + 4]
cwde
jmp 0x1007793c
xor eax, eax
mov dword [esp + 0x28], eax
imul eax, edi
cdq
idiv dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov ecx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x50]
sub eax, edx
inc eax
imul eax, dword [esp + 0x28]
cdq
idiv dword [esp + 0x40]
sub eax, ecx
mov dword [esp + 0x24], eax
jmp 0x10077afa
mov ecx, dword [esp + 0x3c]
push 0
push dword [esp + 0x2c]
call fcn.10086b23
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
jmp 0x10077afa
mov ecx, dword [esp + 0x3c]
call fcn.1002b139
test al, al
je 0x10077a31
mov ecx, dword [esp + 0xc0]
add ecx, 0x40
cmp dword [ecx], 0
jbe 0x10077a31
cmp dword [ecx], 3
jne 0x10077a0c
movzx eax, word [ecx + 4]
cwde
mov dword [esp + 0x28], eax
imul eax, edi
cdq
idiv dword [esp + 0x40]
mov edx, dword [esp + 0x48]
mov ecx, eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x50]
sub eax, edx
inc eax
imul eax, dword [esp + 0x28]
cdq
idiv dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x14]
sub dword [esp + 0x24], edx
sub dword [esp + 0x24], eax
mov eax, dword [esp + 0x24]
sub eax, edi
add eax, ecx
mov dword [esp + 0x24], eax
jmp 0x10077afe
mov ebx, dword [esp + 0x50]
sub ebx, dword [esp + 0x48]
push 0
push dword [esp + 0x2c]
inc ebx
call fcn.10086b23
mov edi, dword [esp + 0x38]
sub ebx, edi
sub ebx, eax
mov dword [esp + 0x24], ebx
jmp 0x10077aea
mov ecx, dword [esp + 0x3c]
call fcn.1002b139
test al, al
jne 0x10077aee
mov ecx, dword [esp + 0xc0]
add ecx, 0x40
mov dword [esp + 0x2c], ecx
call fcn.1002b139
test al, al
jne 0x10077aee
cmp dword [esp + 0x20], 3
jne 0x10077a8d
mov eax, dword [esp + 0x3c]
cmp dword [eax], 3
jne 0x10077a76
movzx eax, word [eax + 4]
movsx edx, ax
jmp 0x10077a78
xor edx, edx
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x48]
sub eax, ecx
inc eax
imul eax, edx
cdq
idiv dword [esp + 0x40]
jmp 0x10077aa8
mov ecx, dword [esp + 0x3c]
push 0
push dword [esp + 0x2c]
call fcn.10086b23
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
cmp dword [eax], 3
jne 0x10077ad5
movzx eax, word [eax + 4]
movsx edx, ax
mov eax, dword [esp + 0x50]
sub eax, ecx
inc eax
imul eax, edx
cdq
idiv dword [esp + 0x40]
mov dword [esp + 0x60], eax
jmp 0x10077af6
push 0
push dword [esp + 0x2c]
mov ecx, eax
call fcn.10086b23
mov edi, dword [esp + 0x38]
mov dword [esp + 0x60], eax
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x58]
and ecx, 0xf
sub ecx, 0
je 0x10077f08
dec ecx
je 0x10077db7
dec ecx
je 0x10077d3a
dec ecx
je 0x10077ce2
dec ecx
je 0x10077c82
dec ecx
jne 0x10078024
mov edx, dword [esp + 0x58]
xor edi, edi
mov al, dl
mov ecx, edi
and al, 0x25
cmp al, 0x25
push 1
pop eax
cmove ecx, eax
mov eax, edx
and eax, 0x85
mov dword [esp + 0x20], ecx
cmp al, 0x85
jne 0x10077b5b
or ecx, 0x10
mov dword [esp + 0x20], ecx
mov eax, edx
and eax, 0x15
cmp al, 0x15
jne 0x10077b6b
or ecx, 2
mov dword [esp + 0x20], ecx
mov eax, edx
and eax, 0x45
cmp al, 0x45
jne 0x10077b7b
or ecx, 8
mov dword [esp + 0x20], ecx
mov eax, 0x105
and edx, eax
cmp edx, eax
jne 0x10077b8d
or ecx, 4
mov dword [esp + 0x20], ecx
mov ebx, dword [esp + 0xc0]
push edi
lea ecx, [ebx + 0x40]
call fcn.1002b1eb
push edi
lea ecx, [ebx + 0x30]
mov ebp, eax
call fcn.1002b1eb
mov ecx, dword [esp + 0x3c]
mov ebx, eax
push edi
call fcn.1002b1eb
mov ecx, dword [esp + 0x54]
mov edi, eax
push 0
call fcn.1002b1eb
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x64], edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebp
cmp dword [eax + 0xc], 0x80000000
je 0x10077c41
cmp dword [eax + 0xc], 2
jne 0x10077c41
mov edi, dword [esp + 0xb8]
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0xc4]
test al, al
je 0x10078024
push dword [esp + 0x20]
lea eax, [esp + 0x64]
mov ecx, edi
push eax
push dword [esp + 0xd4]
mov eax, dword [esp + 0x1c]
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x30]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 0xc], eax
mov eax, dword [edi]
call dword [eax + 0x70]
jmp 0x10077fd8
push dword [esp + 0x20]
lea eax, [esp + 0x64]
push eax
push dword [esp + 0xd4]
mov eax, dword [esp + 0x1c]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx]
call dword [eax + 0x70]
jmp 0x10078024
add edx, eax
add ebx, ebp
cmp dword [esp + 0x58], 0x14
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ebx
jne 0x10077cab
lea eax, [edi - 1]
add eax, edx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
dec eax
add eax, ebx
mov dword [esp + 0x18], eax
jmp 0x10077cbb
mov eax, dword [esp + 0x70]
sub dword [esp + 0x18], eax
mov eax, dword [esp + 0x60]
sub dword [esp + 0x1c], eax
cmp ebx, dword [esp + 0x18]
jg 0x10078024
cmp edx, dword [esp + 0x1c]
jg 0x10078024
push dword [esp + 0xcc]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], ebx
jmp 0x10077ee2
mov eax, dword [esp + 0xc0]
cmp dword [eax + 0xc], 0x80000000
je 0x10077d27
cmp dword [eax + 0xc], 1
jne 0x10077d27
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], ecx
dec ecx
add eax, ecx
mov dword [esp + 0x18], eax
push dword [esp + 0xc4]
jmp 0x10077f84
mov eax, dword [esp + 0x34]
add ebx, ebp
dec eax
mov dword [esp + 0x10], ebx
add eax, ebx
mov dword [esp + 0x18], eax
jmp 0x10077d82
mov ecx, dword [esp + 0xc0]
cmp dword [ecx + 0xc], 0x80000000
je 0x10077d73
cmp dword [ecx + 0xc], 1
jne 0x10077d73
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
lea eax, [ecx - 1]
add eax, edi
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
jmp 0x10077d1b
add edx, eax
lea eax, [edi - 1]
add eax, edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], eax
mov edi, dword [esp + 0xb8]
lea ecx, [esp + 0x44]
push ecx
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0xc4]
test al, al
je 0x10078024
push dword [esp + 0xcc]
push ecx
push ecx
mov eax, esp
and dword [eax], 0
and dword [eax + 4], 0
jmp 0x10077fb1
mov ecx, dword [esp + 0xc0]
cmp dword [ecx + 0xc], 0x80000000
je 0x10077df7
cmp dword [ecx + 0xc], 1
jne 0x10077df7
mov ecx, dword [esp + 0x34]
dec edi
mov edx, dword [esp + 0x24]
dec ecx
push dword [esp + 0xc4]
add ecx, ebp
mov dword [esp + 0x14], ebp
add eax, edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
jmp 0x10077e84
mov ecx, dword [esp + 0x34]
add edx, eax
mov dword [esp + 0x14], edx
lea eax, [edi - 1]
mov edi, dword [esp + 0x20]
add eax, edx
mov edx, dword [esp + 0x50]
add ebx, ebp
mov ebp, dword [esp + 0x4c]
dec ecx
add ecx, ebx
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x14], edi
mov dword [esp + 0x18], ecx
cmovg edi, dword [esp + 0x14]
cmp eax, edx
mov dword [esp + 0x10], ebx
cmovl edx, eax
mov eax, dword [esp + 0x44]
cmp ebx, eax
cmovg eax, ebx
cmp ecx, ebp
mov dword [esp + 0x3c], eax
cmovl ebp, ecx
sub esp, 0x10
mov ecx, esp
sub esp, 0x10
mov dword [ecx], ebx
mov eax, dword [esp + 0x34]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], edi
mov dword [eax + 8], ebp
mov dword [eax + 0xc], edx
call fcn.1001d7cb
add esp, 0x20
test al, al
je 0x10077ed0
lea ecx, [esp + 0x44]
push ecx
mov edi, dword [esp + 0xbc]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0xc4]
test al, al
je 0x10078024
push dword [esp + 0xcc]
mov eax, dword [esp + 0x14]
mov ecx, edi
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x28]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x30]
mov dword [edx + 0xc], eax
mov eax, dword [edi]
call dword [eax + 0x48]
jmp 0x10077fd8
push dword [esp + 0xcc]
mov eax, dword [esp + 0x14]
sub esp, 0x10
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx]
call dword [eax + 0x48]
jmp 0x10078024
mov eax, dword [esp + 0xc0]
mov ecx, SysReAllocStringLen
cmp dword [eax + 0xc], ecx
je 0x10077fe4
cmp dword [eax + 0xc], 1
jne 0x10077f74
mov edi, dword [esp + 0xb8]
lea ecx, [esp + 0x10]
push ecx
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0xc4]
test al, al
je 0x10078024
push dword [esp + 0xcc]
push ecx
push ecx
mov ecx, dword [esp + 0x30]
mov eax, esp
sub esp, 0x10
mov edx, esp
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x60]
mov dword [edx], eax
mov eax, dword [esp + 0x64]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x68]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x6c]
jmp 0x10077fce
cmp dword [eax + 0xc], ecx
je 0x10077fe4
cmp dword [eax + 0xc], 2
jne 0x10077fe4
lea ecx, [esp + 0x44]
push ecx
mov edi, dword [esp + 0xbc]
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0xc4]
test al, al
je 0x10078024
push dword [esp + 0xcc]
push ecx
push ecx
mov ecx, dword [esp + 0x30]
mov eax, esp
mov dword [eax], ebp
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x1c]
sub esp, 0x10
mov edx, esp
mov dword [edx], eax
mov eax, dword [esp + 0x30]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x34]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x38]
mov dword [edx + 0xc], eax
mov ecx, edi
mov eax, dword [edi]
call dword [eax + 0x78]
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0xc8]
jmp 0x10078024
push dword [esp + 0xcc]
push ecx
push ecx
mov ecx, dword [esp + 0x30]
mov eax, esp
sub esp, 0x10
mov dword [eax + 4], ecx
mov ecx, esp
mov dword [eax], ebp
mov eax, dword [esp + 0x2c]
mov dword [ecx], eax
mov eax, dword [esp + 0x30]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x34]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 0xd4]
mov eax, dword [ecx]
call dword [eax + 0x78]
or dword [esp + 0xac], 0xffffffff
test esi, esi
je 0x10078037
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [esp + 0xa4]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
leave
ret 0x18