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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xec
push ebx
push esi
push edi
lea eax, [esp + 0x10]
mov esi, ecx
push 4
push eax
mov dword [esp + 0x20], esi
call fcn.00726f10
add esp, 8
lea ecx, [esp + 0x10]
push ecx
lea edx, [ebp + 8]
push edx
lea ecx, [esi + 0x14]
call fcn.007359c0
xor esi, esi
test eax, eax
je 0x770609
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx]
mov edx, dword [eax + 0x34]
call edx
test eax, eax
je 0x770199
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov eax, dword [esp + 0x10]
cmp eax, esi
mov dword [ecx], 0xc000017c
je 0x7714ff
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea ecx, [esp + 0xc]
push 4
push ecx
call fcn.00726f10
mov ecx, dword [esp + 0x20]
add esp, 8
lea edx, [esp + 0xc]
push edx
lea eax, [ebp + 8]
add ecx, 0xb8
push eax
call fcn.007363d0
test eax, eax
je 0x77040a
mov ecx, dword [esp + 0xc]
mov edx, dword [ebp + 0xc]
cmp edx, dword [ecx + 8]
jbe 0x77040a
xor ebx, ebx
xor esi, esi
cmp dword [ebp + 0x10], esi
lea ecx, [esp + 0x34]
setne bl
call fcn.00766320
mov eax, dword [esp + 0xc]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov edi, dword [eax + 8]
cmp edi, dword [ebp + 0xc]
jae 0x77023a
mov ecx, dword [ebp + 0xc]
add ecx, 0xffffffff
mov dword [esp + 0x74], ecx
mov eax, dword [esp + 0xc]
xor edx, edx
cmp edi, dword [esp + 0x74]
setne dl
sub edx, 1
and edx, ebx
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
lea eax, [esp + 0x30]
push eax
call edx
cmp eax, esi
jne 0x77028a
add edi, 1
cmp edi, dword [ebp + 0xc]
jb 0x770209
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x7703c8
sub eax, 1
je 0x77037c
sub eax, 1
je 0x770349
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov dword [edx], esi
lea ecx, [esp + 0x30]
mov dword [eax], 0xc000000d
call fcn.00767ce0
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x7702ba
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
jmp 0x7702b6
cmp eax, 1
jne 0x7702d7
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x30]
call fcn.00767ce0
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x7702ba
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x7714ff
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp dword [0x100ccb64], esi
je 0x770336
push 0x100b0e60
push eax
lea ecx, [esp + 0x90]
call fcn.00723840
push eax
push 0x100bfa44
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.00722530
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x20]
call fcn.00721280
lea ecx, [esp + 0x88]
call fcn.0070d040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc0000229
jmp 0x77029d
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
mov dword [eax], esi
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x28]
push edx
push eax
call fcn.00767070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x77029d
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.00766450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x30]
lea edx, [esp + 0xc0]
push edx
call fcn.00766f30
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x77029d
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.00766450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
lea eax, [esp + 0xd0]
push eax
call fcn.00766e90
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
jmp 0x77029d
mov eax, dword [ebp + 0x10]
cmp eax, esi
je 0x770444
cmp eax, 1
je 0x770444
cmp eax, 2
je 0x770444
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc000000d
lea ecx, [esp + 0xc]
call fcn.00767300
lea ecx, [esp + 0x10]
call fcn.0075c940
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
lea edx, [esp + 0x74]
push edx
call fcn.00767550
mov edi, eax
mov eax, dword [esp + 0x10]
add esp, 4
cmp eax, esi
je 0x770467
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0xc], esi
mov eax, dword [edi]
cmp eax, esi
mov dword [esp + 0xc], eax
je 0x770479
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0x74]
cmp eax, esi
je 0x770489
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
lea eax, [esp + 0x14]
push 4
push eax
call fcn.00726f10
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
add esp, 8
lea eax, [esp + 0x14]
push eax
call edx
mov edi, eax
cmp edi, esi
je 0x77053e
cmp dword [0x100ccb64], esi
je 0x770511
push 0x100b0e60
push edi
lea ecx, [esp + 0x90]
call fcn.00723840
push eax
push 0x100bf9c4
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.00722530
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x20]
call fcn.00721280
lea ecx, [esp + 0x88]
call fcn.0070d040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x770278
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x14], esi
jmp 0x770278
mov ecx, dword [esp + 0xc]
lea eax, [esp + 0x14]
push eax
add ecx, 0xc
call fcn.00731f90
xor ebx, ebx
cmp dword [ebp + 0x10], esi
lea ecx, [esp + 0x34]
setne bl
call fcn.00766320
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
xor edi, edi
lea ebx, [ebx]
xor ecx, ecx
cmp edi, dword [ebp + 0xc]
lea eax, [esp + 0x30]
setne cl
push eax
sub ecx, 1
and ecx, ebx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
call edx
cmp eax, esi
jne 0x770901
add edi, 1
cmp edi, dword [ebp + 0xc]
jbe 0x770570
mov eax, dword [esp + 0xc]
mov ecx, dword [ebp + 0xc]
mov edi, dword [esp + 0x18]
mov dword [eax + 8], ecx
lea edx, [esp + 0xc]
push edx
lea eax, [ebp + 8]
push eax
lea ecx, [edi + 0xb8]
call fcn.0076a210
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x770a2a
sub eax, 1
je 0x7709d7
sub eax, 1
je 0x77099d
lea ecx, [esp + 0x30]
call fcn.00767ce0
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x7705f9
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x770609
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x770619
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea ecx, [esp + 0x4c]
call fcn.007946f0
push esi
push esi
push esi
lea eax, [esp + 0x58]
push eax
push esi
push 0x40
push 0x100b0384
lea ecx, [esp + 0xa4]
call fcn.00766160
mov ecx, eax
call fcn.007967c0
mov ecx, dword [ebp + 8]
push eax
push ecx
lea ecx, [esp + 0x50]
call fcn.00766110
mov ecx, eax
call fcn.007967c0
mov ecx, dword [esp + 0x28]
push eax
call fcn.0076d640
test eax, eax
je 0x770edf
lea ecx, [esp + 0x4c]
call fcn.007946e0
mov ecx, eax
call fcn.007969f0
test eax, eax
lea ecx, [esp + 0x4c]
jne 0x770f33
lea edx, [esp + 0x10]
push edx
call fcn.00766020
lea eax, [esp + 0xc]
push 4
push eax
call fcn.00726f10
mov ecx, dword [esp + 0x20]
add esp, 8
lea edx, [esp + 0xc]
push edx
lea eax, [ebp + 8]
add ecx, 0xdc
push eax
call fcn.007363d0
test eax, eax
jne 0x770d5f
mov ebx, dword [ebp + 0x10]
mov edx, dword [ebp + 8]
lea ecx, [esp + 0xd0]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov dword [esp + 0xd8], esi
mov dword [esp + 0xdc], esi
call fcn.0076fd60
mov eax, dword [esp + 0xd4]
mov ecx, dword [esp + 0xd0]
push eax
push ecx
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov eax, dword [edx + 0x5c]
call eax
push eax
lea ecx, [esp + 0xd8]
push ebx
push ecx
call fcn.007691c0
mov edi, eax
mov eax, dword [esp + 0x20]
add esp, 0x14
cmp eax, esi
je 0x77072a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0xc], esi
mov edi, dword [edi]
cmp edi, esi
mov dword [esp + 0xc], edi
je 0x77073c
mov ecx, dword [edi]
mov edx, dword [ecx + 8]
push edi
call edx
mov eax, dword [esp + 0xcc]
cmp eax, esi
je 0x770756
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov dword [esp + 0xcc], esi
lea eax, [esp + 0x1c]
push 4
push eax
call fcn.00726f10
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx]
mov edx, dword [edx + 0x68]
add esp, 8
lea eax, [esp + 0x1c]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x770f95
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x78]
call fcn.00766320
lea eax, [esp + 0x14]
push 4
push eax
call fcn.00726f10
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
add esp, 8
lea eax, [esp + 0xe4]
push eax
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x80]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x770b97
cmp dword [esp + 0xe4], esi
jne 0x770b24
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x18]
call edx
test eax, eax
jne 0x7707f4
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
call edx
test eax, eax
je 0x770805
lea eax, [esp + 0x78]
mov ecx, eax
push eax
push ecx
lea ecx, [esp + 0x28]
call fcn.00768160
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x18]
call eax
test eax, eax
je 0x770b02
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov eax, dword [edx + 0x20]
call eax
test eax, eax
jne 0x770b02
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov edx, dword [edx + 0x28]
lea eax, [esp + 0x2c]
push eax
call edx
lea ecx, [esp + 0x34]
call fcn.00766320
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
lea edx, [esp + 0xc8]
push edx
call eax
mov edi, eax
cmp edi, esi
jne 0x771031
cmp ebx, esi
mov ecx, dword [esp + 0x2c]
je 0x770a73
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x14]
lea eax, [esp + 0x9c]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x7710d8
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x7c]
call fcn.00766450
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0xc8]
push ecx
push edx
push eax
lea ecx, [esp + 0xfc]
push ecx
lea ecx, [esp + 0x40]
call fcn.007949e0
mov eax, dword [esp + 0x9c]
cmp eax, esi
je 0x770abe
push eax
call fcn.00727000
add esp, 4
mov dword [esp + 0x9c], esi
mov dword [esp + 0xa0], esi
jmp 0x770abe
cmp eax, 1
jne 0x770922
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
lea ecx, [esp + 0x30]
call fcn.00767ce0
jmp 0x770521
cmp dword [0x100ccb64], esi
je 0x770981
push 0x100b0e60
push eax
lea ecx, [esp + 0x90]
call fcn.00723840
push eax
push 0x100bf98c
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.00722530
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x20]
call fcn.00721280
lea ecx, [esp + 0x88]
call fcn.0070d040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0xc0000229
lea ecx, [esp + 0x30]
call fcn.00767ce0
jmp 0x770521
mov ecx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x18]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
mov dword [eax], esi
mov eax, dword [ebp + 0x14]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
mov ecx, edi
call fcn.00767070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.00767ce0
jmp 0x770521
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xa8]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.00766450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
lea edx, [esp + 0xc0]
push edx
mov ecx, edi
call fcn.00766f30
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.00767ce0
jmp 0x770521
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xc0]
push ecx
lea ecx, [esp + 0x38]
mov dword [eax], esi
call fcn.00766450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
push edx
lea eax, [esp + 0xd0]
push eax
mov ecx, edi
call fcn.00766e90
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
lea ecx, [esp + 0x30]
call fcn.00767ce0
jmp 0x770521
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
lea eax, [esp + 0xe8]
push eax
call edx
mov edi, eax
cmp edi, esi
jne 0x77115e
lea eax, [esp + 0xb0]
push eax
lea ecx, [esp + 0x7c]
call fcn.00766450
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0xc8]
push ecx
push edx
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x3c]
call fcn.00794990
lea ecx, [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x10]
call fcn.00768680
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x770ae5
push eax
call fcn.00727000
add esp, 4
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
lea ecx, [esp + 0x34]
call fcn.00766440
mov eax, dword [esp + 0x2c]
cmp eax, esi
je 0x770b02
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x2c], esi
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x770b16
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x78]
call fcn.00766440
jmp 0x770787
mov eax, dword [esp + 0x14]
cmp eax, esi
je 0x770b38
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x14], esi
lea ecx, [esp + 0x78]
call fcn.00766440
lea ecx, [esp + 0x20]
call fcn.00768310
lea ecx, [esp + 0x20]
call fcn.00768310
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x770b72
jmp 0x770b60
mov edi, dword [eax + 4]
push eax
call fcn.0070a000
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x770b60
mov eax, dword [esp + 0x1c]
cmp eax, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], esi
je 0x7706c4
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], esi
jmp 0x7706c4
cmp edi, 1
jne 0x7712d3
lea ecx, [esp + 0x14]
call fcn.0075c940
lea ecx, [esp + 0x78]
call fcn.00766440
lea ebx, [edi + 3]
mov dword [esp + 0x80], esi
mov dword [esp + 0x84], esi
mov dword [esp + 0x74], edi
mov dword [esp + 0x98], esi
mov edi, edi
cmp dword [esp + 0x84], ebx
jae 0x770c06
mov eax, dword [esp + 0x80]
push eax
call fcn.00727000
add esp, 4
cmp ebx, esi
jne 0x770bf6
mov dword [esp + 0x80], esi
jmp 0x770c06
push ebx
call fcn.00727050
add esp, 4
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
mov ecx, dword [0x100cca70]
lea edx, [esp + 0xec]
push edx
mov edx, dword [esp + 0x9c]
push ebx
push eax
mov eax, dword [ebp + 8]
push esi
add ecx, 0x7bc
push edx
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x9c], ebx
call eax
call eax
mov edi, eax
cmp edi, esi
je 0x770c65
cmp edi, 0xc0000023
je 0x770c5a
cmp edi, 0x80000005
jne 0x770d07
add ebx, 0x100
jmp 0x770bd0
mov eax, dword [esp + 0x80]
mov ecx, dword [eax + 8]
shr ecx, 1
push ecx
add eax, 0xc
push eax
lea ecx, [esp + 0xb0]
call fcn.00766330
lea ecx, [esp + 0xc0]
call fcn.00766320
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x28]
call fcn.00767450
lea ecx, [esp + 0xc0]
mov edi, eax
call fcn.00766440
cmp edi, esi
jne 0x770cf9
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 0x1c]
cmp dword [eax + 0x20], ecx
lea edi, [eax + 0x20]
mov dword [esp + 0xa4], eax
jne 0x770cde
add ecx, 0x100
push ecx
lea ecx, [eax + 0x18]
call fcn.007671f0
mov eax, dword [edi]
mov edx, dword [esp + 0xa4]
lea ecx, [eax + 1]
mov dword [edi], ecx
mov ecx, dword [edx + 0x18]
mov edx, dword [esp + 0x98]
mov dword [ecx + eax*4], edx
lea ecx, [esp + 0xa8]
call fcn.00766440
jmp 0x770d17
cmp edi, 0x8000001a
jne 0x7711d8
mov dword [esp + 0x74], esi
add dword [esp + 0x98], 1
cmp dword [esp + 0x74], esi
jne 0x770bd0
lea eax, [esp + 0xc]
push eax
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [esp + 0x20]
add ecx, 0xdc
call fcn.0076a210
lea ecx, [esp + 0x80]
call fcn.0070c570
lea ecx, [esp + 0x20]
call fcn.007691a0
lea ecx, [esp + 0x1c]
call fcn.0075c940
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx]
mov eax, dword [edx + 0x5c]
mov edi, dword [esp + 0xc]
call eax
cmp eax, dword [edi + 0x24]
jle 0x770de7
lea ecx, [ebp + 8]
push ecx
mov ecx, dword [esp + 0x1c]
add ecx, 0xdc
call fcn.0076a340
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x770d9a
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x770dae
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
je 0x770dc2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x54]
cmp eax, esi
je 0x770dd6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.00766440
mov ebx, dword [ebp + 8]
jmp 0x770e8f
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xd8]
push eax
push ebx
mov dword [esp + 0xe0], esi
mov dword [esp + 0xe4], esi
call fcn.0076fd60
test eax, eax
mov edx, dword [esp + 0xc]
je 0x77134d
mov ecx, dword [esp + 0xd8]
cmp ecx, dword [edx + 0x28]
mov edi, dword [esp + 0xdc]
lea eax, [edx + 0x28]
jne 0x770e35
cmp edi, dword [eax + 4]
je 0x77134d
mov dword [eax], ecx
mov dword [eax + 4], edi
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push eax
call edx
mov eax, dword [esp + 0x10]
cmp eax, esi
mov dword [esp + 0xc], esi
je 0x770e5e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
je 0x770e72
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x54]
cmp eax, esi
je 0x770e86
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.00766440
lea ecx, [esp + 0x4c]
call fcn.007946f0
push esi
push esi
push esi
lea eax, [esp + 0x58]
push eax
push esi
push 0x40
push 0x100b0384
lea ecx, [esp + 0xa4]
call fcn.00766160
mov ecx, eax
call fcn.007967c0
push eax
push ebx
lea ecx, [esp + 0x50]
call fcn.00766110
mov ecx, eax
call fcn.007967c0
mov ecx, dword [esp + 0x28]
push eax
call fcn.0076d640
test eax, eax
jne 0x77066c
cmp dword [0x100ccb64], esi
je 0x770f11
push 0x100bf6b8
push 0x100bfa00
lea ecx, [esp + 0x28]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x20]
call fcn.00721280
mov eax, dword [esp + 0x64]
cmp eax, esi
mov ecx, dword [ebp + 0x20]
mov dword [ecx], 1
je 0x7714e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x7714de
lea eax, [esp + 0xa4]
push eax
call fcn.00766020
mov ecx, dword [eax]
mov edx, dword [ecx]
mov eax, dword [edx + 0x78]
call eax
mov edi, eax
mov eax, dword [esp + 0xa4]
cmp eax, esi
je 0x770f5e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
cmp edi, 1
mov eax, dword [ebp + 0x20]
jne 0x770f8a
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
mov dword [ecx], 0xc0000034
je 0x7714e2
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
jmp 0x7714de
mov dword [eax], 1
jmp 0x7714ce
cmp dword [0x100ccb64], esi
je 0x770ff4
push 0x100b0e60
push edi
lea ecx, [esp + 0x90]
call fcn.00723840
push eax
push 0x100bf964
push 0x100bfa00
lea ecx, [esp + 0x30]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.00722530
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x20]
call fcn.00721280
lea ecx, [esp + 0x88]
call fcn.0070d040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
lea ecx, [esp + 0x1c]
call fcn.0075c940
lea ecx, [esp + 0xc]
call fcn.00767300
lea ecx, [esp + 0x10]
call fcn.0075c940
lea ecx, [esp + 0x4c]
call fcn.007675f0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20
cmp dword [0x100ccb64], esi
je 0x771096
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00723840
push eax
push 0x100bf930
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.00722530
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x88]
call fcn.00721280
lea ecx, [esp + 0xb0]
call fcn.0070d040
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [edx], esi
mov dword [eax], edi
lea ecx, [esp + 0x30]
call fcn.00767ce0
lea ecx, [esp + 0x2c]
call fcn.0075c940
lea ecx, [esp + 0x14]
call fcn.0075c940
lea ecx, [esp + 0x78]
call fcn.00766440
lea ecx, [esp + 0x20]
call fcn.007691a0
jmp 0x771004
cmp dword [0x100ccb64], esi
je 0x77113d
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00723840
push eax
push 0x100bf8fc
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.00722530
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x88]
call fcn.00721280
lea ecx, [esp + 0xb0]
call fcn.0070d040
mov ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov dword [ecx], esi
and edi, 0xefffffff
lea ecx, [esp + 0x9c]
mov dword [edx], edi
call fcn.0070c570
jmp 0x7710a6
cmp dword [0x100ccb64], esi
je 0x7711c3
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00723840
push eax
push 0x100bf8c0
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.00722530
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x88]
call fcn.00721280
lea ecx, [esp + 0xb0]
call fcn.0070d040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
jmp 0x7710a6
cmp dword [0x100ccb64], esi
je 0x771245
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00722570
push eax
push 0x100bf870
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.00722530
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x88]
call fcn.00721280
mov eax, dword [esp + 0xb4]
cmp eax, esi
je 0x771245
push eax
call fcn.00727000
add esp, 4
mov edx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov dword [edx], esi
mov dword [eax], edi
mov eax, dword [esp + 0x80]
cmp eax, esi
je 0x771263
push eax
call fcn.00727000
add esp, 4
lea ecx, [esp + 0x20]
call fcn.00768310
lea ecx, [esp + 0x20]
call fcn.00768310
mov eax, dword [esp + 0x20]
cmp eax, esi
je 0x771292
lea ecx, [ecx]
mov edi, dword [eax + 4]
push eax
call fcn.0070a000
add esp, 4
cmp edi, esi
mov eax, edi
jne 0x771280
mov eax, dword [esp + 0x1c]
cmp eax, esi
je 0x7712a6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x1c], esi
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x7712ba
mov ecx, dword [eax]
push eax
mov edx, dword [ecx + 0xc]
call edx
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x10]
cmp eax, esi
je 0x7714ce
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x7714ca
cmp dword [0x100ccb64], esi
je 0x771338
push 0x100b0e60
push edi
lea ecx, [esp + 0xb8]
call fcn.00723840
push eax
push 0x100bf844
push 0x100bfa00
lea ecx, [esp + 0x98]
call fcn.00722470
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.007213c0
mov ecx, eax
call fcn.00722530
mov ecx, eax
call fcn.007213c0
lea ecx, [esp + 0x88]
call fcn.00721280
lea ecx, [esp + 0xb0]
call fcn.0070d040
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
and edi, 0xefffffff
mov dword [eax], esi
mov dword [ecx], edi
jmp 0x7710b8
mov ecx, dword [edx + 0x14]
mov eax, dword [ebp + 0xc]
cmp eax, ecx
jae 0x77145c
lea ecx, [eax*8]
sub ecx, eax
mov eax, dword [edx + 0xc]
lea edi, [eax + ecx*4]
mov eax, dword [ebp + 0x10]
sub eax, esi
je 0x771421
sub eax, 1
je 0x7713d9
sub eax, 1
je 0x771395
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp + 0x24]
mov dword [ecx], esi
mov dword [eax], 0xc000000d
mov ecx, dword [edx]
push edx
jmp 0x7712b1
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x20]
push edx
mov edx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
mov dword [eax], esi
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
push edx
push eax
mov eax, dword [edi + 0xc]
push ecx
mov ecx, dword [esp + 0x2c]
push eax
call fcn.00767070
mov ecx, dword [ebp + 0x24]
mov dword [ecx], eax
mov eax, dword [esp + 0xc]
cmp eax, esi
je 0x7712ba
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
jmp 0x7712b6
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0x88]
push ecx
lea ecx, [edi + 4]
mov dword [eax], esi
call fcn.00766450
mov edx, dword [ebp + 0x1c]
mov eax, dword [edi + 0x18]
mov ecx, dword [edi + 0x14]
push edx
mov edx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edx
push eax
mov eax, dword [edi + 0xc]
push ecx
push eax
lea ecx, [esp + 0xa0]
push ecx
mov ecx, dword [esp + 0x34]
call fcn.00766f30
mov edx, dword [ebp + 0x24]
mov dword [edx], eax
jmp 0x7712a6
mov eax, dword [ebp + 0x20]
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [edi + 4]
mov dword [eax], esi
call fcn.00766450
mov edx, dword [ebp + 0x1c]
mov eax, dword [ebp + 0x18]
mov ecx, dword [ebp + 0x14]
push edx
mov edx, dword [edi + 0xc]
push eax
push ecx
mov ecx, dword [esp + 0x24]
push edx
lea eax, [esp + 0xc0]
push eax
call fcn.00766e90
jmp 0x7713bb
sub eax, ecx
cmp eax, dword [edx + 0x20]
jae 0x7714a0
mov ecx, dword [ebp + 0x20]
mov dword [ecx], esi
mov edx, dword [edx + 0x18]
mov ecx, dword [0x100cca70]
lea eax, [edx + eax*4]
mov edx, dword [ebp + 0x1c]
mov eax, dword [eax]
push edx
mov edx, dword [ebp + 0x18]
push edx
mov edx, dword [ebp + 0x14]
push edx
mov edx, dword [ebp + 0x10]
push edx
mov edx, dword [ecx + 0x7bc]
add ecx, 0x7bc
push eax
mov eax, dword [edx + 0x24]
push ebx
call eax
call eax
jmp 0x7713bb
mov eax, dword [ebp + 0x20]
mov ecx, dword [ebp + 0x24]
mov dword [eax], esi
mov dword [ecx], 0x8000001a
mov eax, dword [edx]
mov ecx, dword [eax + 0xc]
push edx
call ecx
mov eax, dword [esp + 0x10]
cmp eax, esi
mov dword [esp + 0xc], esi
je 0x7714ce
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x64]
cmp eax, esi
je 0x7714e2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x54]
cmp eax, esi
je 0x7714f6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x54], esi
lea ecx, [esp + 0x4c]
call fcn.00766440
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x20