Function at 0x765f6c
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff04
mov edi, eax
xor eax, eax
mov esi, edx
mov dword [esp], ecx
xor edx, edx
mov ebx, dword [edi]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
xor ecx, ecx
mov word [esp + 0x1c], 0x7d
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov dword [esp + 0x34], ecx
mov edx, 0x28
mov eax, ebx
call fcn.007587a0
mov dword [esp + 4], eax
cmp dword [ebx], 0
je 0x765fba
xor eax, eax
jmp 0x76784b
mov ecx, 0x28
xor edx, edx
mov eax, dword [esp + 4]
call fcn.0070f4e0
mov edx, dword [esp]
mov eax, dword [esp + 4]
mov ecx, dword [edx + 8]
mov dword [eax], ecx
mov edx, dword [esp + 4]
mov dword [edx + 0x10], esi
mov ecx, dword [esp]
mov eax, dword [esp + 4]
mov dword [ecx + 8], eax
movzx eax, word [esi]
cmp eax, 0x8c
je 0x765ff8
cmp eax, 0x8d
jne 0x766003
mov dx, word [esi]
add esi, 2
mov word [esp + 0x1c], dx
mov bp, word [esi]
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x14]
add eax, 6
mov dword [esp + 0x18], eax
movzx edx, bp
cmp edx, 0x81
je 0x76602b
movzx ecx, bp
cmp ecx, 0x86
jne 0x76604f
movzx ecx, word [esi + 6]
cmp ecx, 0x8b
jne 0x76604f
mov eax, dword [esp + 4]
mov edx, dword [eax]
mov eax, dword [esp]
mov dword [eax + 8], edx
mov eax, esi
call fcn.0075cc94
jmp 0x76784b
mov eax, esi
call fcn.0075cc94
mov dx, word [eax - 6]
mov word [esp + 0x1e], dx
movzx ecx, word [esi + 2]
shl ecx, 0x10
movzx eax, word [esi + 4]
or ecx, eax
add ecx, ecx
add esi, ecx
movzx edx, word [esi]
cmp edx, 0x71
sete cl
and ecx, 1
mov dword [esp + 0x24], ecx
movzx ecx, bp
cmp ecx, 0x81
je 0x766099
movzx eax, bp
cmp eax, 0x86
jne 0x766127
mov edx, dword [esp + 0x18]
movzx ecx, word [edx]
cmp ecx, 0x89
jne 0x7660ac
xor eax, eax
jmp 0x7660b1
mov eax, 1
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x18]
movzx ecx, word [edx]
cmp ecx, 0x8a
jne 0x766127
mov ecx, dword [esp + 0x18]
movzx eax, word [ecx + 2]
mov dword [esp + 0x10], eax
cmp dword [edi + 0x94], 0
je 0x7660e3
cmp dword [esp + 0x10], 0xffff
jne 0x7660eb
xor edx, edx
mov dword [esp + 0x24], edx
jmp 0x766127
mov ecx, dword [edi + 0x94]
cmp dword [ecx + 0xc], 0
jne 0x766108
cmp dword [esp + 0x10], 0
setne al
and eax, 1
mov dword [esp + 0x24], eax
jmp 0x766127
mov edx, dword [edi + 0x94]
mov ecx, dword [edx + 0xc]
mov eax, dword [edi + 4]
movzx edx, word [eax + ecx*2 + 6]
cmp edx, dword [esp + 0x10]
setne cl
and ecx, 1
mov dword [esp + 0x24], ecx
movzx eax, bp
cmp eax, 0x81
jne 0x766145
movzx edx, word [esi]
cmp edx, 0x73
je 0x766141
movzx ecx, word [esi]
cmp ecx, 0x74
jne 0x766145
mov bp, 0x86
movzx eax, bp
cmp eax, 0x7c
jne 0x766151
mov bp, 0x7b
movzx eax, bp
cmp eax, 0x7f
je 0x766164
movzx edx, bp
cmp edx, 0x84
jne 0x7661b9
mov ecx, dword [esp + 0x14]
movzx ecx, word [ecx + 6]
mov dword [esp + 0xc], ecx
mov eax, dword [edi + 0xc]
mov edx, dword [esp + 0xc]
cmp byte [eax + edx], 0
jne 0x766193
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0xc]
shl eax, 2
add ecx, eax
mov dword [esp + 8], ecx
shl dword [esp + 0xc], 1
jmp 0x7661a7
shl dword [esp + 0xc], 1
mov edx, dword [edi + 0x14]
mov eax, dword [esp + 0xc]
shl eax, 2
add edx, eax
mov dword [esp + 8], edx
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [edx + 0x24], ecx
add dword [esp + 0x18], 2
jmp 0x76620b
movzx eax, bp
cmp eax, 0x7b
je 0x7661cf
cmp eax, 0x82
je 0x7661cf
cmp eax, 0x86
jne 0x76620b
mov edx, dword [esp + 0x14]
sub edx, dword [edi + 4]
sar edx, 1
jns 0x7661dd
adc edx, 0
mov ecx, dword [edi + 8]
mov edx, dword [ecx + edx*4]
mov dword [esp + 8], edx
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov dword [ecx + 0x24], edx
cmp eax, 0x7b
jne 0x76620b
xor ecx, ecx
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0075d5c0
mov ecx, dword [esp + 4]
mov dword [ecx + 0x20], eax
xor ecx, ecx
mov dword [esp + 0x10], ecx
movzx eax, word [esp + 0x1e]
cmp eax, 0x73
je 0x766232
movzx edx, word [esp + 0x1e]
cmp edx, 0x74
jne 0x766236
movzx ecx, word [esp + 0x1c]
cmp ecx, 0x8d
je 0x766236
inc dword [esp + 0x10]
movzx eax, word [esp + 0x1c]
cmp eax, 0x8c
jne 0x766246
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0
jle 0x7662b0
mov dword [esp + 0x38], edi
mov edx, dword [esp + 0x10]
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x38]
mov eax, dword [ecx]
mov ecx, 2
mov dword [esp + 0x40], eax
push 0
push 2
push 0
push 0x200
mov edx, dword [esp + 0x4c]
shl edx, 2
push edx
mov edx, 0x19
mov eax, dword [esp + 0x54]
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0x4c]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x3c]
call fcn.0075e1fc
xor ecx, ecx
mov dword [esp + 0x10], ecx
movzx eax, word [esp + 0x1e]
cmp eax, 0x73
je 0x7662d7
movzx edx, word [esp + 0x1e]
cmp edx, 0x74
jne 0x766300
movzx ecx, word [esp + 0x1c]
cmp ecx, 0x8d
je 0x766300
mov eax, dword [esp + 0x10]
mov ecx, 0x102
neg eax
shl eax, 2
mov edx, 6
add eax, 0xfffffffc
push eax
push 0x200
push 0
mov eax, ebx
call fcn.00759fb8
inc dword [esp + 0x10]
movzx ecx, word [esp + 0x1c]
cmp ecx, 0x8c
jne 0x76632f
mov eax, dword [esp + 0x10]
mov ecx, 0x102
neg eax
shl eax, 2
mov edx, 6
add eax, 0xfffffffc
push eax
push 6
push 0
mov eax, ebx
call fcn.00759fb8
movzx ecx, word [esp + 0x1c]
cmp ecx, 0x8d
jne 0x7664f4
push 0
push 0x102
push 0xfffffffffffffffc
mov ecx, 6
mov edx, 6
mov eax, ebx
call fcn.00759fb8
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x74
je 0x7663b2
mov dword [esp + 0x44], edi
mov eax, dword [esp + 0x44]
mov edx, dword [eax]
mov dword [esp + 0x48], edx
push 0
push 2
push 0
push 0x200
push 4
mov ecx, 2
mov edx, 0x1b
mov eax, dword [esp + 0x5c]
call fcn.0075b6cc
push 0
push 0x200
push 0
mov ecx, 6
xor edx, edx
mov eax, ebx
call fcn.0075cad0
mov dword [esp + 0x34], eax
jmp 0x7664f4
movzx ecx, bp
cmp ecx, 0x7b
je 0x7663c8
movzx eax, bp
cmp eax, 0x82
jl 0x7664aa
push 0
push 0x200
push 0
mov ecx, 6
mov edx, 1
mov eax, ebx
call fcn.0075cad0
mov dword [esp + 0x28], eax
push 0
push 0x102
push 0xfffffffffffffff8
mov ecx, 6
mov edx, 6
mov eax, ebx
call fcn.00759fb8
mov edx, 0x16
mov eax, ebx
call fcn.0075c304
mov dword [esp + 0x2c], eax
mov eax, ebx
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x28]
call fcn.007586dc
movzx edx, bp
cmp edx, 0x7b
jne 0x766434
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x20], 0
jge 0x766454
push 0
push 0x10b
mov ecx, dword [esp + 0x10]
xor edx, edx
push ecx
mov ecx, 6
mov eax, ebx
call fcn.0075cad0
mov dword [esp + 0x34], eax
jmp 0x766496
push 0
push 0x10b
mov ecx, dword [esp + 0x10]
mov edx, 6
push ecx
mov ecx, 1
mov eax, ebx
call fcn.00759fb8
push 0
push 0x101
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x20]
mov ecx, 6
inc eax
shl eax, 2
xor edx, edx
push eax
mov eax, ebx
call fcn.0075cad0
mov dword [esp + 0x34], eax
mov eax, ebx
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x2c]
call fcn.007586dc
jmp 0x7664f4
push 0
push 0x200
push 0
mov ecx, 6
mov edx, 1
mov eax, ebx
call fcn.0075cad0
mov dword [esp + 0x28], eax
push 0
push 0x102
push 0xfffffffffffffff8
mov ecx, 6
mov edx, 6
mov eax, ebx
call fcn.00759fb8
mov eax, ebx
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x28]
call fcn.007586dc
movzx edx, word [esp + 0x1e]
cmp edx, 0x74
jne 0x76650c
mov eax, ebx
call fcn.0075c278
mov edx, dword [esp + 4]
mov dword [edx + 0x18], eax
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x73
jne 0x766546
mov eax, ebx
call fcn.0075c278
mov dword [esp + 0x30], eax
cmp dword [esp + 0x24], 0
je 0x766546
movzx edx, bp
cmp edx, 0x7b
je 0x766546
movzx ecx, bp
cmp ecx, 0x82
jge 0x766546
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x30]
mov dword [ecx + 0x14], eax
movzx edx, bp
cmp edx, 0x7b
jne 0x766924
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x20], 0
jge 0x7666f3
movzx eax, word [esp + 0x1e]
cmp eax, 0x74
jne 0x766634
push 0
push 0x10b
mov edx, dword [esp + 0x10]
mov ecx, 3
push edx
mov edx, 6
mov eax, ebx
call fcn.00759fb8
mov dword [esp + 0x4c], edi
mov edx, 0x19
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx]
mov ecx, 2
mov dword [esp + 0x50], eax
push 0
push 2
push 0
push 0x200
push 8
mov eax, dword [esp + 0x64]
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0x5c]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x50]
call fcn.0075e1fc
push 0xfffffffffffffffc
push 6
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
push 0xfffffffffffffff8
push 3
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
mov ecx, dword [esp + 8]
mov edx, 0x1b
push ecx
push 2
push 0
push 0x200
push 4
mov ecx, 0x10b
mov eax, ebx
call fcn.0075b6cc
jmp 0x766cb1
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x73
je 0x766649
cmp dword [esp + 0x24], 0
je 0x7666d4
mov eax, dword [esp + 8]
mov ecx, 0x10b
push eax
push 2
push 0
mov eax, ebx
mov edx, 6
call fcn.00759fb8
mov dword [esp + 0x54], edi
mov edx, 0x19
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx]
mov ecx, 2
mov dword [esp + 0x58], eax
push 0
push 2
push 0
push 0x200
push 4
mov eax, dword [esp + 0x6c]
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0x64]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x58]
call fcn.0075e1fc
push 0xfffffffffffffffc
push 6
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
jmp 0x766cb1
mov ecx, dword [esp + 8]
mov edx, 6
push ecx
push 2
push 0
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
jmp 0x766cb1
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x74
je 0x766712
movzx eax, word [esp + 0x1e]
cmp eax, 0x73
je 0x766712
cmp dword [esp + 0x24], 0
je 0x76682b
mov dword [esp + 0x5c], edi
mov edx, dword [esp + 4]
mov ecx, dword [edx + 0x20]
add ecx, 2
mov dword [esp + 0x60], ecx
mov eax, dword [esp + 0x5c]
mov edx, dword [eax]
mov dword [esp + 0x64], edx
push 0
push 2
push 0
push 0x200
mov edx, 0x19
mov ecx, dword [esp + 0x70]
shl ecx, 2
push ecx
mov ecx, 2
mov eax, dword [esp + 0x78]
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0x70]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x60]
call fcn.0075e1fc
push 0
push 0x10b
mov ecx, dword [esp + 0x10]
mov edx, 6
push ecx
mov ecx, 1
mov eax, ebx
call fcn.00759fb8
push 0
push 2
push 0
push 0x200
mov ecx, dword [esp + 0x14]
mov edx, 0x1b
mov eax, dword [ecx + 0x20]
mov ecx, 3
inc eax
neg eax
shl eax, 2
add eax, 0xfffffffc
neg eax
push eax
mov eax, ebx
call fcn.0075b6cc
push 0xfffffffffffffffc
push 6
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
mov ecx, dword [esp + 8]
mov edx, 6
push ecx
push 3
push 0
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
push 0xfffffffffffffff8
push 1
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
push 2
push 0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
mov eax, edi
mov ecx, dword [ecx + 0x20]
inc ecx
call fcn.0075d6fc
jmp 0x766cb1
mov dword [esp + 0x68], edi
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x68]
mov eax, dword [ecx + 0x20]
mov edx, dword [edx]
mov dword [esp + 0x6c], edx
push 0
push 2
inc eax
shl eax, 2
push 0
push 0x200
push eax
mov eax, dword [esp + 0x80]
mov edx, 0x19
mov ecx, 2
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0x78]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x6c]
call fcn.0075e1fc
push 0
push 0x10b
mov ecx, dword [esp + 0x10]
mov edx, 6
push ecx
mov ecx, 1
mov eax, ebx
call fcn.00759fb8
push 0
push 2
push 0
push 0x200
mov ecx, dword [esp + 0x14]
mov edx, 0x1b
mov eax, dword [ecx + 0x20]
mov ecx, 3
neg eax
shl eax, 2
add eax, 0xfffffffc
neg eax
push eax
mov eax, ebx
call fcn.0075b6cc
mov ecx, dword [esp + 8]
mov edx, 6
push ecx
push 3
push 0
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
push 0xfffffffffffffffc
push 1
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
push 1
push 0
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, edi
call fcn.0075d6fc
jmp 0x766cb1
movzx ecx, bp
cmp ecx, 0x7f
je 0x76693a
movzx eax, bp
cmp eax, 0x84
jne 0x766b59
mov edx, dword [esp + 0xc]
sar edx, 1
mov eax, dword [edi + 0xc]
cmp byte [eax + edx], 0
jne 0x766a74
mov dword [esp + 0x70], edi
mov edx, dword [esp + 0x70]
mov ecx, dword [edx]
mov dword [esp + 0x74], ecx
push 0
push 2
push 0
push 0x200
push 0xc
mov ecx, 2
mov edx, 0x19
mov eax, dword [esp + 0x88]
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0x80]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x74]
call fcn.0075e1fc
push 0
push 0x10b
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x14]
shl eax, 2
mov edx, 6
add ecx, eax
mov eax, ebx
push ecx
mov ecx, 1
call fcn.00759fb8
push 0
push 0x10b
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x14]
inc eax
mov edx, 6
shl eax, 2
add ecx, eax
mov eax, ebx
push ecx
mov ecx, 3
call fcn.00759fb8
push 0xfffffffffffffffc
push 1
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
push 0
push 0x10b
mov ecx, dword [esp + 0x10]
mov edx, 6
push ecx
mov ecx, 1
mov eax, ebx
call fcn.00759fb8
push 0xfffffffffffffff8
push 3
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
mov ecx, dword [esp + 8]
mov edx, 6
push ecx
push 6
push 0
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
push 0xfffffffffffffff4
push 1
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
jmp 0x766cb1
mov dword [esp + 0x78], edi
mov edx, 0x19
mov ecx, dword [esp + 0x78]
mov eax, dword [ecx]
mov ecx, 2
mov dword [esp + 0x7c], eax
push 0
push 2
push 0
push 0x200
push 8
mov eax, dword [esp + 0x90]
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0x88]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x7c]
call fcn.0075e1fc
push 0
push 0x10b
mov ecx, dword [esp + 0x10]
mov edx, 6
push ecx
mov ecx, 1
mov eax, ebx
call fcn.00759fb8
push 0
push 0x10b
mov ecx, dword [esp + 0x10]
mov edx, 6
add ecx, 4
mov eax, ebx
push ecx
mov ecx, 3
call fcn.00759fb8
mov ecx, dword [esp + 8]
mov edx, 6
push ecx
push 6
push 0
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
push 0xfffffffffffffffc
push 1
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
push 0xfffffffffffffff8
push 3
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
jmp 0x766cb1
movzx ecx, bp
cmp ecx, 0x82
je 0x766b72
movzx eax, bp
cmp eax, 0x86
jne 0x766c2c
push 0
push 0x10b
mov edx, dword [esp + 0x10]
mov ecx, 3
push edx
mov edx, 6
mov eax, ebx
call fcn.00759fb8
mov dword [esp + 0x80], edi
mov edx, 0x19
mov ecx, dword [esp + 0x80]
mov eax, dword [ecx]
mov ecx, 2
mov dword [esp + 0x84], eax
push 0
push 2
push 0
push 0x200
push 4
mov eax, dword [esp + 0x98]
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0x90]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x84]
call fcn.0075e1fc
mov ecx, dword [esp + 8]
mov edx, 6
push ecx
push 6
push 0
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
push 0xfffffffffffffffc
push 3
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
jmp 0x766cb1
cmp dword [esp + 0x24], 0
je 0x766cb1
mov dword [esp + 0x88], edi
mov edx, 0x19
mov ecx, dword [esp + 0x88]
mov eax, dword [ecx]
mov ecx, 2
mov dword [esp + 0x8c], eax
push 0
push 2
push 0
push 0x200
push 4
mov eax, dword [esp + 0xa0]
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0x98]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x8c]
call fcn.0075e1fc
push 0xfffffffffffffffc
push 6
push 0
mov ecx, 0x102
mov edx, 6
mov eax, ebx
call fcn.00759fb8
movzx ecx, bp
cmp ecx, 0x81
je 0x766cca
movzx eax, bp
cmp eax, 0x86
jne 0x767201
mov edx, dword [esp + 0x18]
movzx ecx, word [edx]
cmp ecx, 0x87
jne 0x766d85
mov dword [esp + 0x90], ebx
mov eax, dword [esp + 4]
add eax, 0x20
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x18]
mov edx, dword [edi + 0x14]
movzx ecx, word [eax + 2]
add ecx, ecx
mov eax, ebx
shl ecx, 2
add edx, ecx
mov ecx, 0x10b
push edx
push 0x10b
mov edx, dword [edi + 0x14]
add edx, 4
push edx
xor edx, edx
call fcn.0075cad0
mov dword [esp + 0x98], eax
mov edx, 8
mov eax, dword [esp + 0x90]
call fcn.007587a0
mov dword [esp + 0x9c], eax
cmp dword [esp + 0x9c], 0
je 0x766d7b
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x9c]
mov ecx, dword [ecx]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x98]
mov dword [edx], eax
mov edx, dword [esp + 0x94]
mov ecx, dword [esp + 0x9c]
mov dword [edx], ecx
add dword [esp + 0x18], 4
jmp 0x767201
mov ecx, dword [esp + 0x18]
movzx eax, word [ecx]
cmp eax, 0x88
jne 0x766f4a
mov edx, dword [esp + 0x18]
movzx ecx, word [edx + 2]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x14]
add edx, edx
shl edx, 2
add eax, edx
mov edx, 1
push eax
push 0x10b
mov ecx, dword [edi + 0x14]
mov eax, ebx
add ecx, 4
push ecx
mov ecx, 0x10b
call fcn.0075cad0
mov dword [esp + 0x28], eax
push 0xc
push 2
push 0
mov ecx, 0x10b
mov edx, 6
mov eax, ebx
call fcn.00759fb8
push 0
push 0x200
mov ecx, dword [edi + 0x78]
mov edx, 6
push ecx
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
push 4
push 0x200
mov ecx, dword [edi + 0x7c]
mov edx, 6
push ecx
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
push 0
push 0x200
mov eax, dword [edi + 0x14]
mov ecx, dword [esp + 0x18]
shl ecx, 8
mov edx, 6
shr eax, 2
or ecx, eax
mov eax, ebx
push ecx
mov ecx, 1
call fcn.00759fb8
push 0
xor ecx, ecx
mov edx, 2
mov eax, ebx
call fcn.0075c95c
push 0
push 0x200
mov ecx, dword [edi + 0x74]
mov edx, 6
push ecx
mov ecx, 3
mov eax, ebx
call fcn.00759fb8
push 0x765db0
mov ecx, 0x200
mov edx, 0x1b
mov eax, ebx
call fcn.0075c3f4
push 0
push 0x10b
push 0xc
mov ecx, 2
mov edx, 6
mov eax, ebx
call fcn.00759fb8
mov dword [esp + 0xa0], ebx
mov eax, ebx
mov ecx, dword [esp + 4]
add ecx, 0x20
xor edx, edx
mov dword [esp + 0xa4], ecx
push 0
push 0x200
push 0
mov ecx, 1
call fcn.0075cad0
mov dword [esp + 0xa8], eax
mov edx, 8
mov eax, dword [esp + 0xa0]
call fcn.007587a0
mov dword [esp + 0xac], eax
cmp dword [esp + 0xac], 0
je 0x766f2e
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0xac]
mov ecx, dword [ecx]
mov dword [eax + 4], ecx
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
mov dword [edx], eax
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xac]
mov dword [edx], ecx
mov eax, ebx
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x28]
call fcn.007586dc
add dword [esp + 0x18], 4
jmp 0x767201
mov edx, dword [esp + 0x18]
movzx ecx, word [edx]
cmp ecx, 0x89
je 0x766f6b
mov ecx, dword [esp + 0x18]
movzx eax, word [ecx]
cmp eax, 0x8a
jne 0x7671aa
mov edx, dword [esp + 4]
xor eax, eax
mov dword [edx + 0x20], eax
mov edx, dword [esp + 0x18]
movzx ecx, word [edx + 2]
mov dword [esp + 0x10], ecx
cmp dword [edi + 0x94], 0
jne 0x766f91
xor ecx, ecx
mov dword [esp + 0x10], ecx
jmp 0x766fe1
cmp dword [esp + 0x10], 0xffff
jne 0x766fa5
mov dword [esp + 0x10], 1
jmp 0x766fe1
mov eax, dword [edi + 0x94]
cmp dword [eax + 0xc], 0
jne 0x766fc2
cmp dword [esp + 0x10], 0
sete dl
and edx, 1
mov dword [esp + 0x10], edx
jmp 0x766fe1
mov ecx, dword [edi + 0x94]
mov eax, dword [ecx + 0xc]
mov edx, dword [edi + 4]
movzx ecx, word [edx + eax*2 + 6]
cmp ecx, dword [esp + 0x10]
sete al
and eax, 1
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x18]
movzx ecx, word [edx]
cmp ecx, 0x89
je 0x767000
cmp dword [esp + 0x10], 0
jne 0x767000
cmp dword [edi + 0x94], 0
jne 0x76703f
cmp dword [esp + 0x10], 0
je 0x767011
add dword [esp + 0x18], 4
jmp 0x767201
movzx eax, word [esi]
cmp eax, 0x71
jne 0x767036
lea edx, [esi + 6]
mov dword [esp + 0x18], edx
movzx ecx, word [esi + 2]
shl ecx, 0x10
movzx eax, word [esi + 4]
or ecx, eax
add ecx, ecx
add esi, ecx
jmp 0x767201
mov dword [esp + 0x18], esi
jmp 0x767201
mov edx, dword [esp + 0x18]
movzx ecx, word [edx + 2]
mov dword [esp + 0x10], ecx
push 0xc
push 2
push 0
mov ecx, 0x10b
mov edx, 6
mov eax, ebx
call fcn.00759fb8
push 0
push 0x200
mov ecx, dword [edi + 0x78]
mov edx, 6
push ecx
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
push 4
push 0x200
mov ecx, dword [edi + 0x7c]
mov edx, 6
push ecx
mov ecx, 0x10b
mov eax, ebx
call fcn.00759fb8
push 8
push 0x200
mov ecx, dword [edi + 0x94]
mov eax, dword [ecx + 0xc]
mov edx, dword [edi + 4]
movzx ecx, word [edx + eax*2 + 6]
push ecx
mov ecx, 0x10b
mov edx, 6
mov eax, ebx
call fcn.00759fb8
push 0
push 0x200
mov ecx, dword [esp + 0x18]
mov edx, 6
push ecx
mov ecx, 1
mov eax, ebx
call fcn.00759fb8
push 0
xor ecx, ecx
mov edx, 2
mov eax, ebx
call fcn.0075c95c
push 0
push 0x200
mov ecx, dword [edi + 0x74]
mov edx, 6
push ecx
mov ecx, 3
mov eax, ebx
call fcn.00759fb8
push 0x765ea8
mov ecx, 0x200
mov edx, 0x1b
mov eax, ebx
call fcn.0075c3f4
push 0
push 0x10b
push 0xc
mov ecx, 2
mov edx, 6
mov eax, ebx
call fcn.00759fb8
mov dword [esp + 0xb0], ebx
mov eax, ebx
mov ecx, dword [esp + 4]
add ecx, 0x20
xor edx, edx
mov dword [esp + 0xb4], ecx
push 0
push 0x200
push 0
mov ecx, 1
call fcn.0075cad0
mov dword [esp + 0xb8], eax
mov edx, 8
mov eax, dword [esp + 0xb0]
call fcn.007587a0
test eax, eax
je 0x7671a3
mov ecx, dword [esp + 0xb4]
mov edx, dword [ecx]
mov dword [eax + 4], edx
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov edx, dword [esp + 0xb4]
mov dword [edx], eax
add dword [esp + 0x18], 4
jmp 0x767201
mov edx, 0x24
mov eax, ebx
call fcn.007587a0
mov dword [esp + 0x20], eax
cmp dword [ebx], 0
je 0x7671c6
xor eax, eax
jmp 0x76784b
mov ecx, 0x24
xor edx, edx
mov eax, dword [esp + 0x20]
call fcn.0070f4e0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov dword [edx + 0x10], ecx
mov ecx, dword [esp + 4]
mov eax, dword [esp + 0x20]
mov dword [ecx + 0x20], eax
push 1
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x1c]
mov eax, edi
call fcn.00765080
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 4]
mov eax, edi
push ecx
mov ecx, esi
mov edx, dword [esp + 0x1c]
call fcn.00768eec
cmp dword [ebx], 0
je 0x76721f
xor eax, eax
jmp 0x76784b
movzx edx, bp
cmp edx, 0x7b
jne 0x76732b
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x20], 0
jge 0x7672ab
push 0
push 0x10b
mov ecx, dword [esp + 0x10]
mov edx, 6
push ecx
mov ecx, 2
mov eax, ebx
call fcn.00759fb8
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x73
jne 0x76727b
push 0
push 0x102
push 0
mov ecx, 3
mov edx, 6
mov eax, ebx
call fcn.00759fb8
jmp 0x76732b
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x74
jne 0x76732b
mov eax, dword [esp + 8]
mov ecx, 0x10b
push eax
push 0x102
push 0
mov eax, ebx
mov edx, 6
call fcn.00759fb8
jmp 0x76732b
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x74
je 0x7672c6
movzx eax, word [esp + 0x1e]
cmp eax, 0x73
je 0x7672c6
cmp dword [esp + 0x24], 0
je 0x7672cd
mov edx, 2
jmp 0x7672d2
mov edx, 1
mov dword [esp + 0x10], edx
push 0
push 0x10b
mov edx, 0x19
mov eax, dword [esp + 0x10]
push eax
push 0x200
mov ecx, dword [esp + 0x14]
mov eax, ebx
mov ecx, dword [ecx + 0x20]
add ecx, dword [esp + 0x20]
shl ecx, 2
push ecx
mov ecx, 2
call fcn.0075b6cc
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x73
jne 0x76732b
push 0
push 0x102
push 0xfffffffffffffffc
mov ecx, 3
mov edx, 6
mov eax, ebx
call fcn.00759fb8
xor ecx, ecx
mov dword [esp + 0x10], ecx
movzx eax, word [esp + 0x1e]
cmp eax, 0x72
jne 0x767345
movzx edx, word [esp + 0x1c]
cmp edx, 0x7d
je 0x767349
inc dword [esp + 0x10]
cmp dword [esp + 0x24], 0
je 0x76735c
movzx ecx, bp
cmp ecx, 0x7b
je 0x76735c
inc dword [esp + 0x10]
cmp dword [esp + 0x10], 0
jle 0x7673de
mov dword [esp + 0xbc], edi
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc0], eax
mov edx, dword [esp + 0xbc]
mov ecx, dword [edx]
mov edx, 0x19
mov dword [esp + 0xc4], ecx
push 0
push 2
push 0
push 0x200
mov ecx, 2
mov eax, dword [esp + 0xd0]
shl eax, 2
push eax
mov eax, dword [esp + 0xd8]
call fcn.0075b6cc
push 0
push 8
push 0
mov ecx, 2
mov edx, 4
mov eax, dword [esp + 0xd0]
call fcn.0075cad0
push eax
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0xc0]
call fcn.0075e1fc
xor ecx, ecx
mov dword [esp + 0x10], ecx
movzx eax, word [esp + 0x1e]
cmp eax, 0x72
je 0x767416
mov edx, dword [esp + 0x10]
mov ecx, 0x102
neg edx
shl edx, 2
mov eax, ebx
add edx, 0xfffffffc
push edx
push 6
push 0
mov edx, 6
call fcn.00759fb8
inc dword [esp + 0x10]
jmp 0x767449
movzx ecx, word [esp + 0x1c]
cmp ecx, 0x7d
je 0x767449
mov eax, dword [esp + 0x10]
mov ecx, 0x102
neg eax
shl eax, 2
mov edx, 6
add eax, 0xfffffffc
push eax
push 0x200
push 0
mov eax, ebx
call fcn.00759fb8
inc dword [esp + 0x10]
cmp dword [esp + 0x24], 0
je 0x767495
movzx ecx, bp
cmp ecx, 0x7b
je 0x76747d
mov eax, dword [esp + 0x10]
mov ecx, 0x102
neg eax
shl eax, 2
mov edx, 6
add eax, 0xfffffffc
push eax
push 0x200
push 0
mov eax, ebx
call fcn.00759fb8
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x73
je 0x767495
mov eax, ebx
call fcn.0075c278
mov edx, dword [esp + 4]
mov dword [edx + 0x14], eax
cmp dword [esp + 0xc], 0
je 0x7674fe
push 0
push 0x10b
mov ecx, dword [esp + 0x10]
mov edx, 6
push ecx
mov ecx, 1
mov eax, ebx
call fcn.00759fb8
mov eax, dword [esp + 0xc]
mov ecx, dword [edi + 0x14]
inc eax
mov edx, 6
shl eax, 2
add ecx, eax
mov eax, ebx
push ecx
push 6
push 0
mov ecx, 0x10b
call fcn.00759fb8
mov eax, dword [esp + 0xc]
mov ecx, dword [edi + 0x14]
shl eax, 2
mov edx, 6
add ecx, eax
mov eax, ebx
push ecx
push 1
push 0
mov ecx, 0x10b
call fcn.00759fb8
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x73
jne 0x7675f0
movzx eax, bp
cmp eax, 0x7b
je 0x767523
movzx edx, bp
cmp edx, 0x82
jl 0x7675cd
cmp dword [esp + 0x24], 0
je 0x767538
mov eax, ebx
call fcn.0075c278
mov edx, dword [esp + 4]
mov dword [edx + 0x14], eax
movzx ecx, bp
cmp ecx, 0x7b
je 0x7675ab
mov ecx, dword [esp + 8]
mov edx, 1
push ecx
push 6
push 0
mov ecx, 0x10b
mov eax, ebx
call fcn.0075cad0
mov edx, dword [esp + 0x30]
call fcn.007586dc
movzx eax, word [esp + 0x1c]
cmp eax, 0x8c
je 0x7675e2
mov dword [esp + 0xc8], edi
mov ecx, dword [esp + 0xc8]
mov ecx, dword [ecx]
mov dword [esp + 0xcc], ecx
push 0
push 2
push 0
push 0x200
push 4
mov ecx, 2
mov edx, 0x1b
mov eax, dword [esp + 0xe0]
call fcn.0075b6cc
jmp 0x7675e2
push 0
push 6
push 0
mov ecx, 3
mov edx, 1
mov eax, ebx
call fcn.0075cad0
mov edx, dword [esp + 0x30]
call fcn.007586dc
jmp 0x7675e2
mov edx, 0x16
mov eax, ebx
call fcn.0075c304
mov edx, dword [esp + 0x30]
call fcn.007586dc
mov eax, ebx
call fcn.0075c278
mov ecx, dword [esp + 4]
mov dword [ecx + 0x18], eax
movzx ecx, word [esp + 0x1c]
cmp ecx, 0x8c
jne 0x76760b
mov eax, ebx
call fcn.0075c278
mov edx, dword [esp + 4]
mov dword [edx + 0x1c], eax
movzx ecx, word [esp + 0x1c]
cmp ecx, 0x8d
jne 0x767755
mov edx, 0x16
mov eax, ebx
call fcn.0075c304
mov edx, dword [esp]
mov edx, dword [edx + 0x14]
call fcn.007586dc
cmp dword [esp + 0x34], 0
je 0x767755
mov eax, ebx
call fcn.0075c278
mov edx, eax
mov eax, dword [esp + 0x34]
call fcn.007586dc
movzx ecx, bp
cmp ecx, 0x7b
jne 0x767709
mov ecx, dword [esp + 4]
cmp dword [ecx + 0x20], 0
jl 0x767709
push 0
push 0x10b
mov eax, dword [esp + 0x10]
mov ecx, 2
push eax
mov eax, ebx
mov edx, 6
call fcn.00759fb8
mov dword [esp + 0xd0], ebx
lea ecx, [edi + 0xac]
mov dword [esp + 0xd4], ecx
mov edx, 0x17
mov eax, ebx
call fcn.0075c304
mov dword [esp + 0xd8], eax
mov edx, 8
mov eax, dword [esp + 0xd0]
call fcn.007587a0
mov dword [esp + 0xdc], eax
cmp dword [esp + 0xdc], 0
je 0x767755
mov ecx, dword [esp + 0xd4]
mov edx, dword [esp + 0xdc]
mov eax, dword [ecx]
mov dword [edx + 4], eax
mov ecx, dword [esp + 0xdc]
mov ebx, dword [esp + 0xd8]
mov dword [ecx], ebx
mov eax, dword [esp + 0xd4]
mov edx, dword [esp + 0xdc]
mov dword [eax], edx
jmp 0x767755
movzx ecx, word [esp + 0x1e]
cmp ecx, 0x74
jne 0x767755
movzx eax, bp
cmp eax, 0x7b
je 0x767755
mov dword [esp + 0xe0], edi
mov edx, dword [esp + 0xe0]
mov ecx, dword [edx]
mov dword [esp + 0xe4], ecx
push 0
push 2
push 0
push 0x200
push 4
mov ecx, 2
mov edx, 0x1b
mov eax, dword [esp + 0xf8]
call fcn.0075b6cc
movzx eax, word [esp + 0x1e]
cmp eax, 0x72
je 0x76776c
movzx edx, word [esp + 0x1c]
cmp edx, 0x8d
jne 0x76777d
movzx ecx, word [esp + 0x1c]
cmp ecx, 0x8c
jne 0x76783e
mov dword [esp + 0xe8], edi
mov ecx, 0xa
mov edi, dword [esp + 0xe8]
mov edx, 0x21b
mov ebx, dword [edi]
push 0
push 0xa
push 0
push 0x200
push 1
mov eax, ebx
call fcn.0075b6cc
mov dword [esp + 0xec], ebx
mov eax, ebx
mov ecx, dword [esp + 0xe8]
add ecx, 0xa4
xor edx, edx
mov dword [esp + 0xf0], ecx
call fcn.0075c304
mov dword [esp + 0xf4], eax
mov edx, 8
mov eax, dword [esp + 0xec]
call fcn.007587a0
mov dword [esp + 0xf8], eax
cmp dword [esp + 0xf8], 0
je 0x76783e
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0xf8]
mov edi, dword [ecx]
mov dword [eax + 4], edi
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
mov dword [edx], ecx
mov edi, dword [esp + 0xf0]
mov eax, dword [esp + 0xf8]
mov dword [edi], eax
jmp 0x76783e
movzx edx, word [esi + 2]
shl edx, 0x10
movzx ecx, word [esi + 4]
or edx, ecx
add edx, edx
add esi, edx
movzx edi, word [esi]
cmp edi, 0x71
je 0x76782d
add esi, 6
mov eax, esi
add esp, 0xfc
pop ebp
pop edi
pop esi
pop ebx
ret