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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x15c
mov edi, dword [eax]
mov dword [esp + 0xc], eax
mov eax, dword [eax + 0x24]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x24], edi
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x761310
mov dword [esp + 0xac], 0
mov eax, dword [esp + 0x28]
test eax, eax
je 0x760a15
test byte [eax + 5], 2
je 0x760a15
mov edx, dword [eax + 0x34]
test edx, edx
je 0x761391
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
call fcn.0075a070
mov dword [esp + 0x10], eax
test eax, eax
je 0x761357
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x3c]
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x10]
test ecx, ecx
je 0x762279
cmp ecx, dword [edx + 0xc]
je 0x760a71
mov ebx, dword [esp + 0x1c]
lea eax, [edx + 0x10]
lea esi, [esi]
nop
mov edx, eax
add eax, 0x10
add ebx, 1
cmp ecx, dword [eax - 4]
jne 0x760a60
mov dword [esp + 0x1c], ebx
sub esp, 8
push dword [edx]
mov edx, 0x12
push 0
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi]
call fcn.006e2bb0
add esp, 0x10
test eax, eax
je 0x760b2b
mov dword [esp + 0x10], 0
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
call fcn.006c45b0
mov ebx, dword [esp + 0x34]
test ebx, ebx
je 0x760ac1
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x24]
call fcn.006c4910
mov ecx, dword [esp + 0x178]
test ecx, ecx
je 0x760adc
mov edx, dword [esp + 0x178]
mov eax, dword [esp + 0x24]
call fcn.006c4b80
mov eax, dword [esp + 0x28]
test eax, eax
je 0x760af4
mov edx, eax
mov eax, dword [esp + 0x24]
mov ecx, 1
call fcn.006c4700
mov edx, dword [esp + 0x170]
test edx, edx
je 0x760b0f
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x24]
call fcn.006c2060
mov edx, dword [esp + 0x10]
test edx, edx
je 0x760b20
mov eax, dword [esp + 0x24]
call fcn.006c0230
add esp, 0x15c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, edi
mov edi, dword [edi + 0x1c]
mov ebp, dword [eax + 0x38]
mov dword [esp + 0x4c], edi
test ebp, ebp
je 0x761324
mov eax, dword [esp + 0xc]
cmp byte [eax + 0xa1], 0
jne 0x76133f
sub esp, 8
mov ecx, 0x7f
lea eax, [esp + 0x9c]
push eax
push 0
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
call fcn.006e48d0
mov dword [esp + 0x6c], eax
add esp, 0x10
mov edi, dword [esp + 0x10]
movzx eax, byte [edi + 0x2b]
mov byte [esp + 0x77], al
cmp al, 1
je 0x760b8d
cmp word [edi + 0x22], 0
jg 0x760ba2
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
call fcn.007078d0
test eax, eax
jne 0x760a97
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
call fcn.006e9ff0
test eax, eax
jne 0x760a97
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 8]
mov dword [esp + 0x20], edi
test edi, edi
je 0x761369
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x12], 0
jne 0x760be3
mov eax, dword [esp + 0x20]
or byte [eax + 0x98], 0x10
mov edi, dword [esp + 0x5c]
mov ebx, dword [esp + 0x28]
xor edx, edx
mov ecx, dword [esp + 0x1c]
mov eax, edi
or eax, ebx
mov eax, dword [esp + 0xc]
setne dl
call fcn.0072d510
or edi, dword [esp + 0x170]
jne 0x760e39
test ebx, ebx
je 0x760e39
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 0x114]
test ebx, ebx
jne 0x760e39
mov eax, dword [esp + 0x28]
mov ecx, dword [eax + 0x40]
test ecx, ecx
jne 0x760e39
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x2b], 1
je 0x760e39
mov eax, dword [esp + 0x174]
mov dword [esp + 0x40], eax
cmp eax, 0xb
je 0x762b80
mov edi, dword [esp + 0x28]
mov eax, dword [edi + 0x20]
cmp dword [eax], 1
jne 0x760e39
cmp dword [eax + 0x1c], 0
jne 0x760e39
cmp dword [edi + 0x24], 0
jne 0x760e39
cmp dword [edi + 0x30], 0
jne 0x760e39
cmp dword [edi + 0x28], 0
jne 0x760e39
cmp dword [edi + 0x3c], 0
jne 0x760e39
cmp dword [edi + 0x34], 0
jne 0x760e39
test byte [edi + 4], 1
jne 0x760e39
mov edx, dword [edi + 0x1c]
cmp dword [edx], 1
jne 0x760e39
mov edx, dword [edx + 8]
cmp byte [edx], 0xb4
jne 0x760e39
mov edi, dword [esp + 0xc]
lea ecx, [eax + 8]
xor edx, edx
mov esi, dword [edi]
mov eax, edi
mov dword [esp + 0x30], esi
call fcn.00758410
mov edi, eax
test eax, eax
je 0x760e39
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
cmp dword [edi + 0x14], eax
je 0x762b6b
mov esi, dword [esp + 0x10]
mov ebx, dword [edi + 0x1c]
mov ecx, dword [esi + 0x1c]
mov eax, ebx
shr eax, 7
mov edx, ecx
xor eax, 1
shr edx, 7
and eax, 1
xor edx, 1
and edx, 1
cmp dl, al
jne 0x760e39
cmp byte [edi + 0x2b], 0
jne 0x760e39
movzx eax, word [edi + 0x22]
cmp word [esi + 0x22], ax
jne 0x760e39
movzx eax, word [edi + 0x20]
cmp word [esi + 0x20], ax
jne 0x760e39
and ecx, 0x10000
je 0x760d59
and ebx, 0x10000
je 0x760e39
xor ebp, ebp
jmp 0x760dbe
movzx eax, byte [ebx + 8]
cmp byte [esi + 8], al
jne 0x760e39
movzx edx, word [ebx + 0xe]
mov eax, dword [ebx]
call fcn.006ba910
movzx edx, word [esi + 0xe]
mov ecx, eax
mov eax, dword [esi]
mov dword [esp + 0x14], edx
call fcn.006ba910
push edx
push edx
push ecx
push eax
call fcn.006c64d0
add esp, 0x10
test eax, eax
jne 0x760e39
test byte [esi + 4], 0xf
mov edx, dword [esp + 0x14]
je 0x760dae
test byte [ebx + 4], 0xf
je 0x760e39
and dl, 0x60
jne 0x760dbb
test ebp, ebp
jne 0x76228c
add ebp, 1
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x22]
cmp ebp, eax
jge 0x7622dd
mov eax, dword [esp + 0x10]
mov ebx, ebp
shl ebx, 4
mov esi, dword [eax + 4]
add esi, ebx
add ebx, dword [edi + 4]
movzx eax, word [esi + 0xe]
movzx edx, word [ebx + 0xe]
xor edx, eax
and dl, 0x60
jne 0x760e39
test al, 0x60
je 0x760d5d
movzx edx, word [esi + 0xc]
mov eax, dword [esp + 0x10]
call fcn.006ba950
movzx edx, word [ebx + 0xc]
mov ecx, eax
mov eax, edi
call fcn.006ba950
mov edx, eax
test eax, eax
je 0x762322
test ecx, ecx
je 0x762322
sub esp, 0xc
xor eax, eax
push 0xffffffffffffffff
call fcn.006ecbf0
add esp, 0x10
test eax, eax
je 0x760d5d
mov edi, dword [esp + 0x10]
mov dword [esp + 0x6c], 0
mov ecx, dword [edi + 0x1c]
test cl, 8
je 0x760e63
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
mov ecx, edi
call fcn.006d3530
mov ecx, dword [edi + 0x1c]
mov dword [esp + 0x6c], eax
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov edx, dword [edi + 0x2c]
movsx eax, word [ebx + 0x22]
mov dword [esp + 0x14], eax
lea eax, [edx + eax + 1]
lea esi, [edx + 1]
mov dword [edi + 0x2c], eax
cmp byte [ebx + 0x2b], 1
mov dword [esp + 0x68], esi
mov dword [esp + 0x38], esi
je 0x7613e2
mov eax, dword [esp + 0x4c]
and eax, 0x80
and ecx, 0x440
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x170]
sete byte [esp + 0x3c]
test eax, eax
je 0x7613d5
mov eax, dword [esp + 0x170]
mov edx, dword [eax]
mov byte [eax + 4], 1
mov dword [esp + 0x40], edx
test edx, edx
jle 0x7613d5
mov ecx, dword [esp + 0x170]
xor eax, eax
mov dword [ecx + eax*8 + 0xc], 0xffffffff
add eax, 1
cmp eax, edx
jne 0x760edb
mov dword [esp + 0x18], 0
mov dword [esp + 0x30], 0xffffffff
mov edi, dword [esp + 0x14]
test edi, edi
jle 0x761410
mov eax, dword [esp + 0x170]
mov edi, dword [esp + 0x18]
mov esi, dword [eax + edi*8 + 8]
mov eax, dword [esp + 0x10]
xor edi, edi
mov ebp, dword [eax + 4]
nop
mov ebx, dword [ebp]
xor eax, eax
jmp 0x760f46
movzx ecx, byte [ecx + 0xa40be0]
cmp byte [edx + 0xa40be0], cl
jne 0x761400
add eax, 1
movzx edx, byte [esi + eax]
movzx ecx, byte [ebx + eax]
cmp edx, ecx
jne 0x760f30
test edx, edx
jne 0x760f43
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x170]
movzx edx, byte [esp + 0x3c]
cmp esi, edi
mov dword [eax + esi*8 + 0xc], edi
mov eax, 0
cmovne edx, eax
mov eax, dword [esp + 0x10]
movsx eax, word [eax + 0x20]
mov byte [esp + 0x3c], dl
cmp eax, edi
mov eax, dword [esp + 0x30]
cmove eax, esi
mov dword [esp + 0x30], eax
test byte [ebp + 0xe], 0x60
jne 0x7615f2
cmp dword [esp + 0x14], edi
jle 0x761410
add dword [esp + 0x18], 1
mov eax, dword [esp + 0x18]
cmp eax, dword [esp + 0x40]
jne 0x760efa
mov ebx, dword [esp + 0x170]
mov esi, dword [esp + 0x28]
test ebx, ebx
sete al
mov ebp, eax
mov eax, dword [esp + 0x38]
add eax, 1
mov dword [esp + 0x58], eax
test esi, esi
je 0x76158d
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x20]
sub esp, 8
mov edx, 0xb
mov esi, dword [eax + 0x2c]
mov dword [esp + 0x14], eax
lea ebx, [esi + 1]
mov esi, dword [edi + 0x6c]
mov dword [eax + 0x2c], ebx
mov ecx, ebx
lea eax, [esi + 1]
push eax
mov eax, edi
push 0
call fcn.006dc9d0
mov byte [esp + 0xb8], 0xd
mov eax, 0
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], 0
mov dword [esp + 0xcc], 0
add esp, 0x10
mov ecx, dword [esp + 0x10]
cmp byte [esp + 0x3c], 0
cmovne eax, dword [esp + 0x58]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xb4], eax
movsx eax, word [ecx + 0x22]
lea ecx, [esp + 0xa8]
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xc]
call fcn.00736110
test eax, eax
jne 0x760a97
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x44], eax
test eax, eax
jne 0x760a97
mov eax, dword [esp + 0xb4]
mov edx, ebx
mov dword [esp + 0x60], eax
mov eax, edi
call fcn.006dd1e0
mov ecx, dword [edi]
mov edx, dword [edi + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x7610b1
mov eax, dword [edi + 0x68]
lea ecx, [esi + esi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x5c]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
test ecx, ecx
je 0x762bf7
mov edi, dword [esp + 0xc]
mov eax, dword [edi + 0x28]
mov dword [esp + 0x44], eax
add eax, 1
mov dword [edi + 0x28], eax
movzx eax, byte [edi + 0x13]
test al, al
je 0x762be9
mov edi, dword [esp + 0xc]
lea edx, [eax - 1]
movzx ecx, dl
mov byte [edi + 0x13], dl
mov esi, dword [edi + ecx*4 + 0xa4]
test dl, dl
je 0x762bd7
mov edi, dword [esp + 0xc]
sub eax, 2
mov byte [edi + 0x13], al
movzx eax, al
mov edi, dword [edi + eax*4 + 0xa4]
sub esp, 8
mov edx, 0x76
push 0
push dword [esp + 0x54]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
mov eax, ebx
call fcn.006dc9d0
mov eax, ebx
mov ecx, dword [esp + 0xbc]
mov ebx, dword [ebx + 0x6c]
add esp, 0x10
cmp ebx, dword [eax + 0x70]
jge 0x762bb8
mov edx, dword [esp + 0x20]
lea eax, [ebx + 1]
mov dword [edx + 0x6c], eax
mov edx, dword [edx + 0x68]
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0xc
sub esp, 8
mov edx, 0x61
push esi
push dword [esp + 0x54]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
pop eax
pop edx
push 0
push edi
mov ecx, dword [esp + 0x54]
mov edx, 0x7f
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
pop ecx
pop eax
push edi
push esi
mov ecx, dword [esp + 0x54]
mov edx, pe_nt_image_headers32
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
mov eax, dword [esp + 0x30]
mov edx, ebx
call fcn.006dd090
mov eax, dword [esp + 0x30]
add esp, 0x10
mov ecx, dword [eax]
mov edx, dword [eax + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x7611f6
mov eax, dword [esp + 0x20]
lea ecx, [ebx + ebx*4]
mov eax, dword [eax + 0x68]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x48]
test eax, eax
setg al
and eax, ebp
mov byte [esp + 0x14], al
test esi, esi
je 0x76122a
mov ebx, dword [esp + 0xc]
mov byte [esp + 0x4c], 1
movzx eax, byte [ebx + 0x13]
cmp al, 7
ja 0x76124c
lea edx, [eax + 1]
mov byte [ebx + 0x13], dl
mov dword [ebx + eax*4 + 0xa4], esi
mov byte [esp + 0x4c], 1
test edi, edi
je 0x76124c
mov ebx, dword [esp + 0xc]
movzx eax, byte [ebx + 0x13]
cmp al, 7
ja 0x76124c
lea edx, [eax + 1]
mov byte [ebx + 0x13], dl
mov dword [ebx + eax*4 + 0xa4], edi
cmp byte [esp + 0x14], 0
je 0x7614a4
mov eax, dword [esp + 0x10]
movsx edi, word [eax + 0x20]
mov ebx, dword [eax + 0x1c]
mov dword [esp + 0x30], edi
test edi, edi
js 0x761296
test bl, 0x60
je 0x761296
test edi, edi
je 0x761296
mov eax, dword [eax + 4]
shl edi, 4
lea edx, [eax + edi - 2]
sub eax, 2
movzx ecx, word [edx]
and ecx, 0x60
cmp cx, 1
adc dword [esp + 0x30], 0xffffffff
sub edx, 0x10
cmp eax, edx
jne 0x761280
mov eax, dword [esp + 0x10]
xor ecx, ecx
and ebx, 0x62
movsx edx, word [eax + 0x22]
je 0x7612ce
test edx, edx
jle 0x7612ce
mov eax, dword [eax + 4]
mov esi, edx
shl esi, 4
mov dword [esp + 0x14], eax
add eax, 0xe
add esi, eax
movzx ebx, word [eax]
and ebx, 0x62
cmp bx, 1
sbb ecx, 0xffffffff
add eax, 0x10
cmp esi, eax
jne 0x7612ba
sub edx, ecx
cmp edx, dword [esp + 0x48]
je 0x7614c2
sub esp, 0xc
push dword [esp + 0x54]
push edx
mov eax, dword [esp + 0x40]
add eax, 8
push eax
push 0xa350f0
push dword [esp + 0x28]
call fcn.006cea90
add esp, 0x20
mov dword [esp + 0x10], 0
jmp 0x760a9f
mov eax, edi
call fcn.006c45b0
mov dword [esp + 0x10], 0
jmp 0x760ac1
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x76133f
mov edi, dword [eax + 0x30]
test edi, edi
jne 0x760b3f
mov dword [esp + 0x94], 0
mov dword [esp + 0x5c], 0
jmp 0x760b76
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
call fcn.006c45b0
jmp 0x760ac1
mov esi, dword [eax + 0x80]
test esi, esi
je 0x761444
mov eax, dword [esp + 0xc]
call fcn.006dca30
mov dword [esp + 0x20], eax
test eax, eax
jne 0x760bce
jmp 0x760a97
mov edi, dword [eax + 0x1c]
mov dword [eax + 0x1c], 0
mov edx, eax
mov ecx, 1
mov eax, dword [esp + 0x24]
mov dword [esp + 0x34], edi
call fcn.006c4700
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0xc]
call fcn.0075a070
mov dword [esp + 0x28], 0
mov dword [esp + 0x10], eax
test eax, eax
jne 0x760a36
jmp 0x760a9f
mov dword [esp + 0x30], 0xffffffff
jmp 0x760fb4
lea edi, [edx + 2]
add eax, 1
mov dword [esp + 0x38], edi
mov edi, dword [esp + 0xc]
mov dword [edi + 0x2c], eax
jmp 0x760e92
add edi, 1
add ebp, 0x10
cmp dword [esp + 0x14], edi
jne 0x760f20
mov eax, dword [esp + 0x170]
mov edi, dword [esp + 0x18]
mov ebx, dword [eax + edi*8 + 8]
mov eax, ebx
call fcn.006c9180
test eax, eax
je 0x76145b
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x76145b
mov eax, dword [esp + 0x18]
mov byte [esp + 0x3c], 0
mov dword [esp + 0x30], eax
jmp 0x760fa1
mov edi, eax
mov eax, dword [eax]
test byte [eax + 0x50], 8
jne 0x761377
mov byte [edi + 0x17], 1
jmp 0x761377
push ebx
mov eax, dword [esp + 0x30]
add eax, 8
push eax
push 0xa350d0
mov edi, dword [esp + 0x18]
push edi
call fcn.006cea90
add esp, 0x10
mov byte [edi + 0x11], 1
mov dword [esp + 0x10], 0
jmp 0x760a9f
mov dword [esp + 0x60], 0
mov dword [esp + 0x48], 0
mov byte [esp + 0x4c], 0
mov dword [esp + 0x44], 0xffffffff
mov ebx, dword [esp + 0x170]
test ebx, ebx
je 0x7614c2
mov eax, dword [esp + 0x170]
mov eax, dword [eax]
cmp eax, dword [esp + 0x48]
jne 0x762cf5
mov eax, dword [esp + 0x24]
mov dword [esp + 0x64], 0
test byte [eax + 0x24], 1
je 0x7614ec
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x12], 0
jne 0x7614ec
mov ecx, dword [eax + 0x84]
test ecx, ecx
je 0x762d18
cmp byte [esp + 0x77], 2
mov dword [esp + 0x54], 0
je 0x761627
sub esp, 0xc
mov ecx, 0x71
lea eax, [esp + 0x9c]
push eax
lea eax, [esp + 0x9c]
push eax
push 0
push 0xffffffffffffffff
push 0
mov esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x2c]
mov edx, esi
mov eax, ebp
call fcn.006e6cc0
add esp, 0x20
xor edx, edx
lea edi, [eax*4 + 8]
mov ebx, eax
mov eax, dword [esp + 0x24]
mov ecx, edx
mov edx, edi
call fcn.006cec40
mov dword [esp + 0x54], eax
mov ecx, eax
test eax, eax
je 0x760a97
mov esi, dword [esi + 8]
mov eax, dword [ebp + 0x2c]
test ebx, ebx
jle 0x761614
mov edx, ecx
lea edi, [ecx + edi - 8]
movzx ecx, word [esi + 0x34]
add eax, 1
add edx, 4
mov esi, dword [esi + 0x14]
mov dword [edx - 4], eax
add eax, ecx
mov ecx, dword [esp + 0xc]
mov dword [ecx + 0x2c], eax
cmp edi, edx
jne 0x76156b
jmp 0x761616
xor edx, edx
xor eax, eax
mov dword [esp + eax + 0xec], edx
add eax, 4
cmp eax, 0x20
jb 0x761591
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x34]
mov dword [esp + 0xe8], eax
test edx, edx
je 0x761487
mov edi, dword [edx]
lea eax, [esp + 0xe8]
mov dword [esp + 0x48], edi
call fcn.006eb330
mov dword [esp + 0x60], eax
test eax, eax
jne 0x762d68
test edi, edi
mov byte [esp + 0x4c], 0
setg al
mov dword [esp + 0x44], 0xffffffff
and eax, ebp
mov byte [esp + 0x14], al
jmp 0x76124c
sub esp, 4
push ebx
push 0xa350a4
push dword [esp + 0x18]
call fcn.006cea90
add esp, 0x10
mov dword [esp + 0x10], 0
jmp 0x760a9f
xor ebx, ebx
mov edi, dword [esp + 0xc]
add eax, 1
mov dword [edi + 0x2c], eax
mov edi, dword [esp + 0x54]
mov dword [edi + ebx*4], eax
mov eax, dword [esp + 0x178]
test eax, eax
je 0x7616d8
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x2b]
cmp al, 1
je 0x763119
cmp al, 2
je 0x763101
mov eax, dword [esp + 0x178]
mov eax, dword [eax]
test eax, eax
je 0x762de1
mov ebx, dword [eax]
test ebx, ebx
jle 0x762de1
xor edx, edx
jmp 0x761678
add edx, 1
cmp edx, ebx
je 0x762de1
lea ecx, [edx + edx*4]
lea ecx, [eax + ecx*4]
test byte [ecx + 0x14], 0x20
je 0x76166d
movzx eax, byte [ecx + 0x10]
test al, al
je 0x763136
cmp al, 3
je 0x763136
mov eax, 0xa3145d
sub esp, 4
push eax
push 0xa31462
push dword [esp + 0x18]
call fcn.006cea90
add esp, 0x10
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
call fcn.006c45b0
mov eax, dword [esp + 0x54]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x760ab4
jmp 0x760acc
cmp byte [esp + 0x4c], 0
jne 0x7620f5
mov eax, dword [esp + 0x28]
test eax, eax
je 0x7620e6
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xac]
mov edi, dword [eax + 0x6c]
cmp edi, dword [eax + 0x70]
jge 0x7620c8
mov esi, dword [esp + 0x20]
lea eax, [edi + 1]
mov edx, dword [esi + 0x68]
mov dword [esi + 0x6c], eax
lea eax, [edi + edi*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0xc
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], edi
test eax, eax
js 0x761762
mov ecx, dword [esp + 0x60]
mov edx, 0x50
add ecx, eax
push eax
push eax
push 0
push dword [esp + 0x44]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
mov ebx, dword [esp + 0x10]
movsx ebp, word [ebx + 0x22]
test ebp, ebp
jle 0x761895
mov dword [esp + 0x3c], 0
mov edx, ebp
mov esi, dword [esp + 0x58]
mov dword [esp + 0x14], 0
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x20]
movsx eax, word [ebx + 0x20]
cmp eax, dword [esp + 0x14]
je 0x762170
mov ecx, dword [esp + 0x14]
shl ecx, 4
add ecx, dword [ebx + 4]
movzx eax, word [ecx + 0xe]
test al, 0x62
je 0x761b69
add dword [esp + 0x3c], 1
test al, 0x20
jne 0x76187e
test al, 0x40
jne 0x761ea8
mov eax, dword [esp + 0x170]
test eax, eax
je 0x761fe8
mov eax, dword [esp + 0x170]
mov dword [esp + 0x18], 0
mov eax, dword [eax]
mov dword [esp + 0x40], eax
test eax, eax
jle 0x761b90
mov dword [esp + 0x18], ecx
xor eax, eax
mov dword [esp + 0x78], edx
jmp 0x761812
add eax, 1
cmp eax, dword [esp + 0x40]
je 0x761c03
mov edx, dword [esp + 0x170]
mov ecx, dword [esp + 0x14]
cmp dword [edx + eax*8 + 0xc], ecx
jne 0x761805
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x78]
cmp byte [esp + 0x4c], 0
jne 0x761bdc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x761ec2
lea ecx, [esi + 1]
mov eax, dword [esp + 0x58]
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x60]
cmp ecx, eax
je 0x761bd3
sub esp, 8
mov edx, ecx
mov ecx, dword [esp + 0x20]
mov eax, edi
push 0
push esi
add ecx, edx
mov edx, 0x51
call fcn.006dc9d0
movsx edx, word [ebx + 0x22]
mov esi, dword [esp + 0x50]
add esp, 0x10
add dword [esp + 0x14], 1
mov eax, dword [esp + 0x14]
cmp edx, eax
jg 0x761794
mov edi, dword [esp + 0x50]
mov ebp, edx
mov eax, dword [esp + 0xc]
mov esi, dword [eax + 0x38]
lea ebx, [esi - 1]
mov dword [esp + 0x18], esi
mov dword [esp + 0x14], ebx
mov dword [eax + 0x38], ebx
test byte [esp + 0x94], 1
jne 0x761c09
cmp byte [esp + 0x77], 2
je 0x761a74
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x2b], 1
je 0x761f00
mov edx, dword [esp + 0x30]
test edx, edx
js 0x761e40
cmp byte [esp + 0x4c], 0
jne 0x761e1c
mov eax, dword [esp + 0x28]
test eax, eax
je 0x761f94
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x2b], 1
je 0x761f69
mov eax, dword [esp + 0x20]
mov ebx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ebx
jle 0x761fc6
mov esi, dword [esp + 0x20]
lea eax, [ebx + 1]
mov edx, dword [esi + 0x68]
mov dword [esi + 0x6c], eax
lea eax, [ebx + ebx*4]
mov esi, dword [esp + 0x38]
lea eax, [edx + eax*4]
mov dword [eax + 4], esi
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x33
sub esp, 8
mov edx, 0x7f
push dword [esp + 0x74]
push dword [esp + 0x44]
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x9c]
mov eax, esi
call fcn.006dc9d0
mov ecx, dword [esi]
add esp, 0x10
mov edx, dword [esi + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x761984
imul ebx, ebx, 0x14
mov eax, dword [esi + 0x68]
add eax, ebx
mov dword [eax + 8], edx
sub esp, 8
mov edx, 0xd
xor ebx, ebx
push 0
push 0
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
mov ecx, dword [esp + 0x6c]
test ecx, ecx
jle 0x7619ca
mov eax, dword [esp + 0xc]
sub esp, 8
mov edx, 0x9f
mov eax, dword [eax + 8]
push 0
push dword [esp + 0x44]
call fcn.006dc9d0
add esp, 0x10
mov eax, dword [esp + 0x10]
test byte [eax + 0x1c], 0x60
jne 0x762265
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x2b], 1
jne 0x762183
mov ebx, dword [eax + 0x34]
test ebx, ebx
jne 0x7619f7
jmp 0x7619ff
mov ebx, dword [ebx + 0x18]
test ebx, ebx
je 0x7619ff
mov eax, dword [esp + 0x24]
cmp eax, dword [ebx]
jne 0x7619f0
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov edx, esi
call fcn.006d3940
movsx eax, word [esi + 0x22]
push 0xfffffffffffffff5
mov edx, 7
push ebx
mov ecx, 1
add eax, 2
push dword [esp + 0x70]
push eax
mov ebx, dword [esp + 0x30]
mov eax, ebx
call fcn.006dd160
add esp, 0x10
mov eax, 2
movzx edx, word [esp + 0x174]
cmp dword [esp + 0x174], 0xb
cmove edx, eax
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x761a61
mov esi, dword [ebx + 0x68]
lea eax, [eax + eax*4]
lea eax, [esi + eax*4]
mov word [eax - 0x12], dx
mov ebx, dword [esp + 0xc]
mov eax, dword [ebx + 0x80]
test eax, eax
cmove eax, ebx
mov byte [eax + 0x15], 1
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x762035
mov ebx, dword [esp + 0x5c]
test ebx, ebx
je 0x761ac0
sub esp, 8
mov ecx, 0x7f
push dword [esp + 0x1c]
push dword [esp + 0x180]
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x48]
movsx edx, word [esi + 0x22]
sub eax, 1
sub eax, edx
mov edx, ebx
push eax
push esi
push 2
push 0
mov eax, dword [esp + 0x2c]
call fcn.0075e070
add esp, 0x20
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
mov edx, dword [eax + 0x38]
add edx, dword [eax + 0x3c]
js 0x762021
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x6c]
shl edx, 2
neg edx
add edx, dword [eax + 0x40]
mov dword [edx], ecx
cmp byte [esp + 0x4c], 0
jne 0x762056
mov eax, dword [esp + 0x28]
test eax, eax
je 0x761b26
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov eax, esi
call fcn.006dd090
mov ecx, dword [esi]
mov edx, dword [esi + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x761b23
mov eax, dword [esi + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0xc]
cmp byte [eax + 0x12], 0
jne 0x761b3e
mov ebp, dword [eax + 0x84]
test ebp, ebp
je 0x7620b3
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x64]
mov dword [esp + 0x10], eax
test esi, esi
je 0x760a9f
mov edx, dword [esp + 0x64]
mov eax, dword [esp + 0x20]
mov ecx, 0xa351d1
call fcn.006dd6e0
jmp 0x760a9f
mov eax, dword [esp + 0x170]
test eax, eax
jne 0x7617dc
mov eax, dword [esp + 0x14]
sub eax, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x76182b
movzx eax, word [ecx + 0xc]
test ax, ax
je 0x761ea1
cmp byte [ebx + 0x2b], 0
jne 0x761ea1
mov edx, dword [ebx + 0x34]
test edx, edx
je 0x761bbe
cmp dword [edx], eax
jl 0x761ea1
lea eax, [eax + eax*4 - 5]
mov edx, dword [edx + eax*4 + 8]
mov ecx, esi
mov eax, ebp
add esi, 1
call fcn.0073dc20
movsx edx, word [ebx + 0x22]
jmp 0x76187e
mov esi, dword [esp + 0x40]
jmp 0x76187e
sub esp, 8
mov edx, 0x5e
push esi
push dword [esp + 0x24]
mov ecx, dword [esp + 0x54]
mov eax, edi
add esi, 1
call fcn.006dc9d0
movsx edx, word [ebx + 0x22]
add esp, 0x10
jmp 0x76187e
mov ecx, dword [esp + 0x18]
jmp 0x761b90
lea edx, [ebp + 1]
call fcn.006b8610
mov ebx, eax
mov eax, dword [esp + 0x30]
test eax, eax
js 0x761dfe
cmp byte [esp + 0x4c], 0
jne 0x761ddd
mov esi, dword [esp + 0xc]
mov ebp, dword [esi + 8]
test ebp, ebp
je 0x761c4b
imul eax, dword [esp + 0x30], 0x14
mov edx, dword [esp + 0x34]
mov ecx, ebx
mov edx, dword [edx + eax + 8]
mov eax, esi
call fcn.0073cfb0
mov eax, dword [esp + 0x20]
mov esi, dword [eax + 0x6c]
cmp esi, dword [eax + 0x70]
jge 0x761d93
mov edx, dword [esp + 0x20]
lea eax, [esi + 1]
mov dword [edx + 0x6c], eax
mov edx, dword [edx + 0x68]
lea eax, [esi + esi*4]
lea eax, [edx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x33
sub esp, 8
mov ecx, 0xffffffff
mov edx, 0x47
push 0
push ebx
mov ebp, dword [esp + 0x30]
mov eax, ebp
call fcn.006dc9d0
mov ecx, dword [ebp]
add esp, 0x10
mov edx, dword [ebp + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x761cc3
imul esi, esi, 0x14
mov eax, dword [ebp + 0x68]
add eax, esi
sub esp, 8
mov dword [eax + 8], edx
mov ecx, ebx
mov edx, 0xd
push 0
push 0
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
sub esp, 8
lea esi, [ebx + 1]
mov edx, 0x50
mov ebp, dword [esp + 0x18]
movsx eax, word [ebp + 0x24]
sub eax, 1
push eax
push esi
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
test byte [ebp + 0x1c], 0x60
jne 0x761d7f
cmp byte [esp + 0x77], 2
je 0x761d24
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ecx, esi
call fcn.006e1fe0
sub esp, 8
mov eax, ebx
mov ecx, 0x7f
push dword [esp + 0x1c]
push dword [esp + 0x180]
mov esi, dword [esp + 0x20]
movsx edx, word [esi + 0x22]
sub eax, edx
sub eax, 1
push eax
push esi
push 1
push 0
mov edx, dword [esp + 0x7c]
mov eax, dword [esp + 0x2c]
call fcn.0075e070
movsx edx, word [esi + 0x22]
add esp, 0x20
lea eax, [edx + 1]
test edx, edx
je 0x761db3
mov esi, dword [esp + 0xc]
cmp eax, dword [esi + 0x1c]
jle 0x7618b8
mov dword [esi + 0x1c], eax
mov dword [esi + 0x20], ebx
jmp 0x7618b8
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov edx, esi
call fcn.0073d760
jmp 0x761d0e
push esi
mov ecx, ebx
mov edx, 0x33
push esi
push 0
push 0
mov eax, dword [esp + 0x30]
call fcn.006dc960
add esp, 0x10
mov esi, eax
jmp 0x761c8c
test ebx, ebx
je 0x7618b8
mov esi, dword [esp + 0xc]
movzx eax, byte [esi + 0x13]
cmp al, 7
ja 0x7618b8
lea edx, [eax + 1]
mov byte [esi + 0x13], dl
mov dword [esi + eax*4 + 0xa4], ebx
jmp 0x7618b8
push eax
mov edx, 0x5e
push eax
push ebx
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
jmp 0x761c4b
push eax
or ecx, 0xffffffff
mov edx, 0x47
push eax
push 0
push ebx
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
jmp 0x761ce0
push eax
mov edx, 0x5e
push eax
push dword [esp + 0x40]
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
jmp 0x7618f4
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x2b], 1
je 0x761e52
mov eax, dword [esp + 0x70]
test eax, eax
je 0x761e75
sub esp, 8
xor ecx, ecx
mov edx, 0x4b
xor ebx, ebx
push 0
push dword [esp + 0x44]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
jmp 0x7619a5
push ebp
mov edx, 0x7f
mov ebx, 1
push ebp
push dword [esp + 0x74]
push dword [esp + 0x44]
mov ecx, dword [esp + 0x9c]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
jmp 0x7619a5
xor edx, edx
jmp 0x761bbe
lea eax, [esi + 1]
mov dword [esp + 0x18], eax
test byte [esp + 0x94], 1
jne 0x761f20
mov esi, dword [esp + 0x18]
jmp 0x76187e
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
mov ecx, esi
lea eax, [eax + eax*4]
mov edx, dword [edx + eax*4 + 8]
mov eax, ebp
mov dword [esp + 0x18], edx
call fcn.0073b250
mov edx, dword [esp + 0x18]
cmp eax, esi
mov ecx, eax
je 0x761f45
test byte [edx + 6], 0x40
sete dl
sub esp, 8
movzx edx, dl
push 0
add edx, 0x50
push esi
jmp 0x761bed
push ecx
mov edx, 0x4b
push ecx
xor ecx, ecx
push 0
push dword [esp + 0x74]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
jmp 0x7618d1
sub esp, 8
mov ecx, esi
mov edx, 0x4c
mov eax, edi
push 0
push 0
call fcn.006dc9d0
add esp, 0x10
movsx edx, word [ebx + 0x22]
mov esi, dword [esp + 0x18]
jmp 0x76187e
movsx edx, word [ebx + 0x22]
add esi, 1
jmp 0x76187e
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x2b], 1
jne 0x761e75
mov eax, dword [esp + 0xc]
cmp dword [eax + 8], 0
jne 0x761fb4
push eax
mov edx, 0x32
push eax
push 0
mov ebx, dword [esp + 0x2c]
mov eax, dword [ebx + 0x6c]
mov dword [esp + 0x48], eax
add eax, 2
push eax
mov ecx, dword [esp + 0x48]
mov eax, ebx
call fcn.006dc9d0
add esp, 0x10
jmp 0x761987
imul eax, dword [esp + 0x30], 0x14
mov esi, dword [esp + 0x34]
mov edx, dword [esi + eax + 8]
cmp byte [edx], 0x79
je 0x761f51
mov eax, dword [esp + 0xc]
cmp dword [eax + 8], 0
je 0x7618f4
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0xc]
call fcn.0073cfb0
jmp 0x7618f4
push eax
mov edx, 0x33
push eax
push 0
push 0
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x30]
call fcn.006dc960
add esp, 0x10
mov ebx, eax
jmp 0x761947
movzx eax, word [ecx + 0xc]
test ax, ax
je 0x761ea1
cmp byte [ebx + 0x2b], 0
jne 0x761ea1
mov edx, dword [ebx + 0x34]
test edx, edx
je 0x761bbe
cmp dword [edx], eax
jl 0x761ea1
sub eax, 1
imul eax, eax, 0x14
mov edx, dword [edx + eax + 8]
jmp 0x761bbe
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
neg ecx
call fcn.006df100
jmp 0x761ae8
sub esp, 8
mov edx, 0x56
push 0
push 1
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
jmp 0x761a80
sub esp, 8
mov edx, 0x27
push 0
push dword [esp + 0x28]
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
mov eax, ebx
call fcn.006dc9d0
mov ecx, dword [ebx]
add esp, 0x10
mov edx, dword [ebx + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x76208f
mov eax, dword [ebx + 0x68]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
sub esp, 8
mov dword [eax + 8], edx
mov edx, 0x7a
push 0
push 0
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
jmp 0x761b26
mov edi, dword [eax + 0x7c]
test edi, edi
je 0x761b3e
call fcn.006e6bb0
jmp 0x761b3e
push eax
mov edx, 0xc
push eax
push 0
push 0
mov eax, dword [esp + 0x30]
call fcn.006dc960
add esp, 0x10
mov edi, eax
jmp 0x761737
mov dword [esp + 0x1c], 0
xor edi, edi
jmp 0x761762
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x6c]
cmp edi, dword [eax + 0x70]
jge 0x76213f
mov ebx, dword [esp + 0x20]
lea eax, [edi + 1]
mov dword [esp + 0x1c], eax
mov edx, dword [ebx + 0x68]
mov dword [ebx + 0x6c], eax
lea eax, [edi + edi*4]
mov ebx, dword [esp + 0x44]
lea eax, [edx + eax*4]
mov dword [eax + 4], ebx
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], 0
mov dword [eax], 0x24
jmp 0x761762
push edx
push edx
mov edx, 0x24
push 0
push 0
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x54]
mov eax, esi
call fcn.006dc960
mov edi, eax
mov eax, dword [esi + 0x6c]
mov dword [esp + 0x2c], eax
add esp, 0x10
jmp 0x761762
sub esp, 8
mov ecx, esi
mov edx, 0x4c
push 0
push 0
jmp 0x761bed
mov dword [esp + 0xe8], 0
sub esp, 8
push dword [esp + 0x180]
push 0
lea eax, [esp + 0xf8]
push eax
push dword [esp + 0x28]
movzx eax, byte [esp + 0x18c]
push eax
mov eax, dword [esp + 0x4c]
not eax
shr eax, 0x1f
push eax
push 0
push dword [esp + 0x8c]
push dword [esp + 0xb8]
push dword [esp + 0xb8]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
call fcn.0075ead0
mov eax, dword [esp + 0x54]
add esp, 0x30
test byte [eax + 0x21], 0x40
jne 0x762248
mov edx, dword [esp + 0xe8]
mov eax, 1
test edx, edx
je 0x762213
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xe0]
test eax, eax
sete al
movzx eax, al
sub esp, 8
push eax
push ebx
push 0
push dword [esp + 0x68]
push dword [esp + 0x80]
push dword [esp + 0xac]
mov ecx, dword [esp + 0xac]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
call fcn.006dd350
add esp, 0x20
jmp 0x761a74
push ecx
xor ecx, ecx
push 0
push 0
push dword [esp + 0x74]
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
call fcn.0075a100
add esp, 0x10
jmp 0x7621f1
mov ecx, eax
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 0xc]
call fcn.0073d760
jmp 0x7619d8
mov dword [esp + 0x1c], 0xffff8000
sub edx, 0x80000
jmp 0x760a71
movzx edx, word [esi + 0xc]
mov eax, dword [esp + 0x10]
call fcn.006ba950
movzx edx, word [ebx + 0xc]
mov ecx, eax
mov eax, edi
call fcn.006ba950
test ecx, ecx
sete bl
test eax, eax
sete dl
cmp bl, dl
jne 0x760e39
test ecx, ecx
je 0x760dbb
push edx
push edx
push dword [eax + 8]
push dword [ecx + 8]
call fcn.007985f0
add esp, 0x10
test eax, eax
je 0x760dbb
jmp 0x760e39
mov eax, dword [esp + 0x10]
mov dword [esp + 0x38], 0
mov ebx, 1
mov esi, dword [eax + 8]
test esi, esi
je 0x762340
mov eax, dword [esp + 0x38]
cmp byte [esi + 0x36], 0
mov ebp, dword [edi + 8]
cmovne eax, ebx
mov dword [esp + 0x38], eax
jmp 0x762319
mov edx, ebp
mov eax, esi
call fcn.006f1490
test eax, eax
jne 0x76232f
mov ebp, dword [ebp + 0x14]
test ebp, ebp
jne 0x762309
jmp 0x760e39
cmp ecx, edx
jne 0x760e39
jmp 0x760d5d
mov eax, dword [esi + 0x2c]
cmp dword [ebp + 0x2c], eax
je 0x762b34
mov esi, dword [esi + 0x14]
jmp 0x7622f1
mov eax, dword [esp + 0x10]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x76235e
mov eax, dword [edi + 0x10]
or ecx, 0xffffffff
call fcn.006f0ef0
test eax, eax
jne 0x760e39
mov ebx, dword [esp + 0x30]
mov eax, dword [ebx + 0x24]
test byte [ebx + 0x21], 0x40
je 0x762379
mov esi, dword [esp + 0x10]
cmp dword [esi + 0x30], 0
jne 0x760e39
test al, 1
jne 0x760e39
mov edx, dword [edi + 0x3c]
test edx, edx
je 0x762b27
mov eax, dword [esp + 0x30]
call fcn.006b8840
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc]
mov ebp, dword [eax + 8]
test ebp, ebp
jne 0x7623ab
call fcn.006dcac0
mov ebp, eax
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x44]
mov eax, dword [ebx + 0x80]
test eax, eax
cmove eax, ebx
call fcn.0072d430
mov esi, dword [ebx + 0x28]
mov edx, dword [esp + 0x10]
mov dword [esp + 0xc], ebx
lea eax, [esi + 1]
mov dword [esp + 0x14], eax
lea eax, [esi + 2]
mov dword [ebx + 0x28], eax
xor ebx, ebx
test byte [edx + 0x1c], 8
je 0x7623f4
mov ecx, edx
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x1c]
call fcn.006d3530
mov ebx, eax
mov eax, dword [esp + 0xc]
movzx eax, byte [eax + 0x13]
test al, al
je 0x762af7
mov edx, dword [esp + 0xc]
sub eax, 1
mov byte [edx + 0x13], al
movzx eax, al
mov eax, dword [edx + eax*4 + 0xa4]
mov dword [esp + 0x3c], eax
push eax
xor ecx, ecx
mov edx, 0x4b
push eax
mov eax, ebp
push 0
push dword [esp + 0x48]
call fcn.006dc9d0
mov eax, dword [esp + 0x1c]
add esp, 0x10
movzx eax, byte [eax + 0x13]
test al, al
je 0x762b11
mov edx, dword [esp + 0xc]
sub eax, 1
mov byte [edx + 0x13], al
movzx eax, al
mov eax, dword [edx + eax*4 + 0xa4]
mov dword [esp + 0x18], eax
push ecx
push ecx
push 0x71
push dword [esp + 0x1c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
call fcn.006e6a60
mov edx, dword [esp + 0x40]
add esp, 0x10
test byte [edx + 0x18], 4
jne 0x762aea
mov eax, dword [esp + 0x10]
cmp word [eax + 0x20], 0
js 0x762a66
cmp dword [esp + 0x38], 0
jne 0x7624a9
mov eax, dword [esp + 0x40]
sub eax, 1
cmp eax, 1
jbe 0x7624fa
push ecx
mov edx, 0x24
mov eax, ebp
push ecx
push 0
push 0
mov ecx, dword [esp + 0x24]
call fcn.006dc9d0
xor ecx, ecx
mov dword [esp + 0x58], eax
pop eax
mov eax, ebp
pop edx
push 0
mov edx, 9
push 0
call fcn.006dc9d0
mov ecx, dword [ebp]
mov edx, dword [ebp + 0x6c]
mov dword [esp + 0x48], eax
add esp, 0x10
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x7624f7
imul eax, dword [esp + 0x48], 0x14
add eax, dword [ebp + 0x68]
mov dword [eax + 8], edx
test byte [edi + 0x1c], 0x80
jne 0x762a26
push eax
mov edx, esi
push eax
push 0x70
push edi
mov ecx, dword [esp + 0x54]
mov eax, dword [esp + 0x1c]
call fcn.006e6a60
pop eax
pop edx
push 0
push 0
mov ecx, esi
mov edx, 0x24
mov eax, ebp
call fcn.006dc9d0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x20]
add esp, 0x10
cmp word [eax + 0x20], 0
jns 0x7629b5
mov eax, dword [esp + 0x10]
cmp dword [eax + 8], 0
je 0x762983
push ebx
mov ecx, esi
mov edx, 0x87
mov eax, ebp
push ebx
push 0
push dword [esp + 0x24]
call fcn.006dc9d0
mov dword [esp + 0x58], eax
add esp, 0x10
mov eax, dword [esp + 0x30]
mov ebx, 0xa9
test byte [eax + 0x18], 4
jne 0x76265e
push ecx
mov edx, 0x81
mov eax, ebp
push ecx
push dword [esp + 0x20]
push esi
mov ecx, dword [esp + 0x24]
call fcn.006dc9d0
pop eax
pop edx
push dword [esp + 0x20]
push dword [esp + 0x48]
mov edx, pe_nt_image_headers32
mov eax, ebp
mov ecx, dword [esp + 0x24]
call fcn.006dc9d0
mov eax, dword [esp + 0x40]
add esp, 0x10
test byte [eax + 0x18], 4
jne 0x7625d4
sub esp, 0xc
or edx, 0xffffffff
mov eax, ebp
push 0xfffffffffffffffb
mov ecx, dword [esp + 0x20]
call fcn.006d0ad0
add esp, 0x10
mov eax, dword [ebp + 0x6c]
test eax, eax
jle 0x7625e5
imul eax, eax, 0x14
add eax, dword [ebp + 0x68]
mov word [eax - 0x12], bx
push ecx
mov edx, 0x27
mov eax, ebp
push ecx
mov ecx, esi
push 0
push dword [esp + 0x54]
call fcn.006dc9d0
pop ebx
pop eax
push 0
push 0
mov ecx, esi
mov edx, 0x7a
mov eax, ebp
call fcn.006dc9d0
pop eax
pop edx
push 0
push 0
mov ecx, dword [esp + 0x24]
mov edx, 0x7a
mov eax, ebp
call fcn.006dc9d0
add esp, 0x10
mov eax, dword [esp + 0x10]
mov dword [esp + 0x48], edi
mov eax, dword [eax + 8]
mov edi, eax
test edi, edi
je 0x76281a
mov eax, dword [esp + 0x48]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x763140
mov edx, ebx
mov eax, edi
call fcn.006f1490
test eax, eax
jne 0x762681
mov ebx, dword [ebx + 0x14]
jmp 0x762644
push ecx
mov edx, 0x89
mov eax, ebp
mov ebx, 0x98
push ecx
push 0
push 0
mov ecx, dword [esp + 0x24]
call fcn.006dc9d0
add esp, 0x10
jmp 0x762580
push eax
mov ecx, esi
mov edx, 0x70
push eax
mov eax, ebp
push dword [esp + 0x4c]
push dword [ebx + 0x2c]
call fcn.006dc9d0
mov eax, dword [esp + 0x1c]
mov edx, ebx
call fcn.006e6a00
pop eax
pop edx
push dword [esp + 0x24]
push dword [edi + 0x2c]
mov edx, 0x71
mov eax, ebp
mov ecx, dword [esp + 0x24]
call fcn.006dc9d0
mov eax, dword [esp + 0x1c]
mov edx, edi
call fcn.006e6a00
mov eax, dword [ebp + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7626dd
imul eax, eax, 0x14
add eax, dword [ebp + 0x68]
mov word [eax - 0x12], 1
push ecx
mov edx, 0x24
mov eax, ebp
push ecx
mov ecx, esi
push 0
push 0
call fcn.006dc9d0
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x40]
add esp, 0x10
test byte [eax + 0x18], 4
jne 0x7627d7
mov eax, dword [esp + 0x48]
xor ebx, ebx
test byte [eax + 0x1c], 0x80
je 0x76271e
movzx eax, byte [edi + 0x38]
and eax, 3
cmp al, 2
sete bl
push eax
mov ecx, esi
mov edx, 0x86
push eax
mov eax, ebp
push 1
push dword [esp + 0x48]
call fcn.006dc9d0
add esp, 0x10
push eax
mov edx, 0x8a
push eax
mov eax, ebp
push 0
push dword [esp + 0x48]
mov ecx, dword [esp + 0x24]
call fcn.006dc9d0
mov eax, ebx
mov edx, dword [ebp + 0x6c]
add esp, 0x10
or eax, 8
movzx eax, al
test edx, edx
jle 0x76276b
imul edx, edx, 0x14
add edx, dword [ebp + 0x68]
mov word [edx - 0x12], ax
push ecx
mov edx, 0x27
push ecx
mov ecx, esi
push 0
mov ebx, dword [esp + 0x60]
lea eax, [ebx + 1]
push eax
mov eax, ebp
call fcn.006dc9d0
mov ecx, dword [ebp]
add esp, 0x10
mov edx, dword [ebp + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x76279f
imul eax, ebx, 0x14
add eax, dword [ebp + 0x68]
mov dword [eax + 8], edx
mov ecx, esi
mov edx, 0x7a
push eax
push eax
mov eax, ebp
push 0
push 0
call fcn.006dc9d0
pop eax
pop edx
push 0
push 0
mov ecx, dword [esp + 0x24]
mov edx, 0x7a
mov eax, ebp
call fcn.006dc9d0
mov edi, dword [edi + 0x14]
add esp, 0x10
jmp 0x762635
movzx eax, word [ebx + 0x34]
xor ecx, ecx
mov dword [esp + 0x40], edi
mov edi, esi
mov esi, ebx
mov ebx, ecx
mov dword [esp + 0x58], eax
cmp ebx, dword [esp + 0x58]
jge 0x76293a
mov eax, dword [esi + 0x20]
mov edx, dword [eax + ebx*4]
test edx, edx
je 0x76292d
mov eax, 0xa40a00
call fcn.006aee30
test eax, eax
jne 0x76292d
add ebx, 1
jmp 0x7627eb
mov edi, dword [esp + 0x50]
test edi, edi
je 0x76283c
mov ecx, dword [ebp]
mov edx, dword [ebp + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x762839
imul eax, edi, 0x14
add eax, dword [ebp + 0x68]
mov dword [eax + 8], edx
mov esi, dword [esp + 0x18]
test esi, esi
je 0x76285d
mov edi, dword [esp + 0xc]
movzx eax, byte [edi + 0x13]
cmp al, 7
ja 0x76287e
lea edx, [eax + 1]
mov byte [edi + 0x13], dl
mov dword [edi + eax*4 + 0xa4], esi
mov ebx, dword [esp + 0x3c]
test ebx, ebx
je 0x76287e
mov edi, dword [esp + 0xc]
movzx eax, byte [edi + 0x13]
cmp al, 7
ja 0x76287e
lea edx, [eax + 1]
mov byte [edi + 0x13], dl
mov dword [edi + eax*4 + 0xa4], ebx
cmp dword [esp + 0x38], 0
je 0x7628e5
mov eax, dword [esp + 0xc]
cmp dword [eax + 0x7c], 0
je 0x762894
call fcn.006e6bb0
push eax
xor ecx, ecx
mov edx, 0x46
push eax
mov eax, ebp
push 0
push 0
call fcn.006dc9d0
mov ecx, dword [ebp]
add esp, 0x10
mov edx, dword [ebp + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x7628c4
imul eax, dword [esp + 0x38], 0x14
add eax, dword [ebp + 0x68]
mov dword [eax + 8], edx
mov edx, 0x7a
push eax
push eax
mov eax, ebp
push 0
push 0
mov ecx, dword [esp + 0x24]
call fcn.006dc9d0
add esp, 0x10
jmp 0x760e39
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10], 0
cmp byte [eax + 0x12], 0
jne 0x760a9f
cmp dword [eax + 0x84], 0
jne 0x760a9f
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x7c]
mov dword [esp + 0x10], edi
test edi, edi
je 0x760a9f
call fcn.006e6bb0
mov dword [esp + 0x10], 0
jmp 0x760a9f
mov esi, edi
xor ebx, ebx
mov edi, dword [esp + 0x40]
jmp 0x76271e
mov esi, edi
mov ebx, 0
mov edi, dword [esp + 0x40]
jne 0x76271e
push eax
mov edx, 0x89
push eax
mov eax, ebp
push 0
push 0
mov ebx, dword [esp + 0x24]
mov ecx, ebx
call fcn.006dc9d0
pop eax
pop edx
push 0
push esi
mov ecx, ebx
mov edx, 0x81
mov eax, ebp
mov ebx, 0xffffff90
call fcn.006dc9d0
add esp, 0x10
jmp 0x762737
mov eax, dword [esp + 0x30]
test byte [eax + 0x18], 8
jne 0x762550
push eax
mov edx, 0x7f
push eax
mov eax, ebp
push 0
push dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
call fcn.006dc9d0
mov dword [esp + 0x58], eax
add esp, 0x10
jmp 0x76256d
push eax
mov ecx, esi
mov edx, 0x87
push eax
mov eax, ebp
push 0
push dword [esp + 0x24]
call fcn.006dc9d0
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x40]
add esp, 0x10
test byte [eax + 0x18], 4
je 0x762a91
test ebx, ebx
jle 0x76265e
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 8]
mov edx, dword [eax + 0x6c]
cmp edx, dword [eax + 0x70]
jge 0x762a75
lea ecx, [edx + 1]
imul edx, edx, 0x14
add edx, dword [eax + 0x68]
mov dword [eax + 0x6c], ecx
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x18]
mov dword [edx + 0xc], 0
mov dword [edx + 8], ebx
mov dword [edx + 0x10], 0
mov dword [edx], 0x9f
jmp 0x76256d
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x14]
push ebx
push ebx
push dword [eax]
push 1
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
mov eax, ebx
call fcn.006df7d0
pop eax
mov ecx, dword [edi + 0x14]
mov eax, ebx
pop edx
push dword [edi]
push 0
mov edx, dword [esp + 0x54]
call fcn.006df7d0
add esp, 0x10
mov dword [esp + 0x50], 0
jmp 0x762628
cmp dword [eax + 8], 0
jne 0x7624a9
jmp 0x762496
push edx
mov ecx, ebx
push edx
mov edx, 0x9f
push 0
push dword [esp + 0x24]
call fcn.006dc960
add esp, 0x10
jmp 0x76256d
push ecx
mov edx, 0x1f
mov eax, ebp
push ecx
push dword [esp + 0x20]
push 0
mov ecx, dword [esp + 0x24]
call fcn.006dc9d0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x50]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x1c]
call fcn.006ec240
mov ecx, dword [ebp]
add esp, 0x10
mov edx, dword [ebp + 0x6c]
mov eax, 0xaa748c
cmp byte [ecx + 0x57], 0
jne 0x762ada
imul eax, dword [esp + 0x54], 0x14
add eax, dword [ebp + 0x68]
mov dword [eax + 8], edx
test ebx, ebx
jle 0x76256d
jmp 0x7629e8
mov dword [esp + 0x38], 0
jmp 0x7624fa
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x18], edx
add edx, 1
mov dword [esp + 0x3c], edx
mov dword [eax + 0x2c], edx
jmp 0x76241c
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x2c]
add edx, 1
mov dword [esp + 0x18], edx
mov dword [eax + 0x2c], edx
jmp 0x76245d
mov dword [esp + 0x44], 0xffff8000
jmp 0x762399
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
cmp dword [edi + 0x3c], eax
jne 0x76233b
mov eax, dword [0x7d2d00]
test eax, eax
je 0x760e39
sub esp, 0xc
push 0x19b
call eax
add esp, 0x10
test eax, eax
jne 0x76233b
jmp 0x760e39
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x3c]
cmp dword [edi + 0x3c], eax
jne 0x760cf7
jmp 0x760e39
mov eax, dword [esp + 0x10]
mov dword [esp + 0x40], 2
cmp word [eax + 0x20], 0
js 0x760c59
movzx eax, byte [eax + 0x2a]
mov dword [esp + 0x40], eax
cmp eax, 0xb
jne 0x760c59
mov dword [esp + 0x40], 2
jmp 0x760c59
sub esp, 8
mov edx, 0xc
push 0
push 0
mov eax, dword [esp + 0x30]
call fcn.006dc960
add esp, 0x10
mov ebx, eax
jmp 0x761180
mov edi, dword [edi + 0x2c]
mov eax, dword [esp + 0xc]
add edi, 1
mov dword [eax + 0x2c], edi
jmp 0x76111a
mov eax, dword [edi + 0x2c]
lea esi, [eax + 1]
mov dword [esp + 0x14], eax
mov edi, esi
jmp 0x762bda
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 8]
test ebx, ebx
je 0x762cdc
mov esi, dword [esp + 0x10]
xor eax, eax
mov edi, dword [ebx + 0x6c]
cmp byte [esi + 0x2b], 1
je 0x762cb3
mov edx, dword [esp + 0x48]
test edx, edx
setg dl
and edx, ebp
mov byte [esp + 0x14], dl
cmp edi, 1
jle 0x762ca9
mov edx, dword [ebx]
mov esi, 1
movzx edx, byte [edx + 0x57]
mov byte [esp + 0x18], dl
jmp 0x762c55
cmp cl, 0xad
jne 0x762c4e
cmp dword [edx + 0x10], eax
je 0x7610cd
add esi, 1
cmp edi, esi
je 0x762ca9
cmp byte [esp + 0x18], 0
mov edx, 0xaa748c
jne 0x762c6a
mov ecx, dword [ebx + 0x68]
lea edx, [esi + esi*4]
lea edx, [ecx + edx*4]
movzx ecx, byte [edx]
cmp cl, 0x70
jne 0x762c40
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [edx + 0xc]
jne 0x762c4e
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x10]
cmp ecx, dword [edx + 0x14]
je 0x7610cd
mov edx, dword [edx + 8]
test edx, edx
jne 0x762c9f
jmp 0x762c4e
mov edx, dword [edx + 0x14]
test edx, edx
je 0x762c4e
cmp ecx, dword [edx + 0x2c]
jne 0x762c98
jmp 0x7610cd
mov byte [esp + 0x4c], 0
jmp 0x76124c
mov eax, dword [esp + 0xc]
mov edx, dword [eax]
mov eax, dword [esi + 0x34]
test eax, eax
jne 0x762cd3
jmp 0x762c19
mov eax, dword [eax + 0x18]
test eax, eax
je 0x762c19
cmp edx, dword [eax]
jne 0x762cc8
jmp 0x762c19
cmp dword [eax + 0x80], 0
je 0x762d55
mov eax, dword [esp + 0xc]
call fcn.006dca30
mov ebx, eax
jmp 0x762c06
push eax
push dword [esp + 0x4c]
push 0xa35124
push dword [esp + 0x18]
call fcn.006cea90
add esp, 0x10
mov dword [esp + 0x10], 0
jmp 0x760a9f
cmp byte [eax + 0x9f], 0
jne 0x7614ec
mov edi, eax
mov eax, dword [eax + 0x2c]
xor ecx, ecx
mov dword [esp + 0x14], eax
add eax, 1
mov dword [esp + 0x64], eax
mov dword [edi + 0x2c], eax
push edx
push edx
mov edx, 0x47
push 0
push eax
mov eax, dword [esp + 0x30]
call fcn.006dc9d0
add esp, 0x10
jmp 0x7614ec
mov edi, eax
mov eax, dword [eax]
test byte [eax + 0x50], 8
jne 0x762ce5
mov byte [edi + 0x17], 1
jmp 0x762ce5
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, edi
call fcn.006c45b0
mov edx, dword [esp + 0x34]
mov eax, edi
call fcn.006c4910
mov eax, dword [esp + 0x178]
test eax, eax
je 0x762dbd
mov edx, dword [esp + 0x178]
mov eax, edi
call fcn.006c4b80
mov ebp, dword [esp + 0x170]
test ebp, ebp
je 0x760b20
mov edx, dword [esp + 0x170]
mov eax, edi
call fcn.006c2060
jmp 0x760b20
mov esi, dword [esp + 0x170]
test esi, esi
je 0x760b20
mov edx, dword [esp + 0x170]
mov eax, dword [esp + 0x24]
call fcn.006c2060
jmp 0x760b20
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x8c]
mov dword [edi + 0x34], edx
mov edi, dword [esp + 0x178]
mov dword [esp + 0x78], edi
mov edi, dword [esp + 0x78]
mov ebx, dword [esp + 0x2c]
mov dword [edi + 0x28], edx
mov edx, dword [esp + 0x90]
mov dword [edi + 0x20], ebx
mov ebx, dword [esp + 0x58]
mov dword [edi + 0x2c], edx
mov dword [edi + 0x24], ebx
test eax, eax
je 0x763048
xor edx, edx
xor eax, eax
mov dword [esp + eax + 0xcc], edx
add eax, 4
cmp eax, 0x1c
jb 0x762e25
mov eax, dword [esp + 0xc]
mov dword [esp + 0x7c], 0
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov edx, dword [eax]
test edx, edx
je 0x763048
lea eax, [esp + 0xc4]
call fcn.006eb330
test eax, eax
jne 0x7616b2
mov edi, dword [esp + 0x40]
lea eax, [esp + 0xc4]
mov edx, dword [edi + 4]
call fcn.006eb680
test eax, eax
jne 0x7616b2
mov eax, dword [esp + 0x2c]
mov edi, dword [edi]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x50], edi
mov dword [esp + 0x14], eax
test byte [edx + 0x1c], 0x80
jne 0x762ec9
cmp dword [edi], 1
jne 0x762ec9
mov eax, dword [edi + 8]
cmp byte [eax], 0xa7
jne 0x762ec9
cmp word [eax + 0x20], 0xffff
je 0x763030
xor eax, eax
mov ecx, 0x1a
lea edi, [esp + 0xe8]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x11c]
mov byte [esp + 0xe8], 0x71
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x14]
mov byte [esp + 0x11c], 0xa7
mov edi, dword [edx + 8]
mov dword [esp + 0x138], eax
test edi, edi
je 0x763099
mov dword [esp + 0x18], edi
jmp 0x762f2b
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
test eax, eax
je 0x763099
mov esi, dword [esp + 0x18]
cmp byte [esi + 0x36], 0
je 0x762f18
mov eax, dword [esp + 0x50]
movzx edi, word [esi + 0x32]
cmp dword [eax], edi
jne 0x762f18
mov ecx, dword [esi + 0x24]
test ecx, ecx
je 0x762f6e
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 4]
test edx, edx
je 0x762f18
sub esp, 0xc
push dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
call fcn.006ecbf0
add esp, 0x10
test eax, eax
jne 0x762f18
movzx edi, word [esi + 0x32]
test edi, edi
je 0x763025
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c], 0
add eax, 8
mov dword [esp + 0x3c], eax
lea esi, [esi]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + 0x20]
mov eax, dword [eax + ebx*4]
mov dword [esp + 0xf0], eax
mov eax, dword [esi + 4]
movzx eax, word [eax + ebx*2]
cmp ax, 0xfffe
je 0x763070
lea ebx, [esp + 0x11c]
mov word [esp + 0x13c], ax
lea ebp, [esp + 0xe8]
mov dword [esp + 0xf4], ebx
mov esi, dword [esp + 0x3c]
xor ebx, ebx
jmp 0x762fee
add ebx, 1
add esi, 0x14
cmp ebx, edi
je 0x762f18
mov edx, dword [esi]
test edx, edx
je 0x762fe0
sub esp, 0xc
mov ecx, ebp
xor eax, eax
push dword [esp + 0x20]
call fcn.006ecbf0
add esp, 0x10
cmp eax, 1
jg 0x762fe0
cmp edi, ebx
jle 0x762f18
add dword [esp + 0x1c], 1
mov eax, dword [esp + 0x1c]
cmp eax, edi
jne 0x762f90
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
mov dword [eax + 0x1c], edi
mov eax, dword [esp + 0x40]
add dword [esp + 0x7c], 1
mov eax, dword [eax + 0x10]
mov dword [esp + 0x40], eax
test eax, eax
jne 0x762e5a
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x78], eax
test eax, eax
je 0x7616d8
mov edx, dword [esp + 0x8c]
mov eax, dword [eax]
jmp 0x762dfa
lea eax, [ebx + ebx*4]
shl eax, 2
add eax, dword [esi + 0x28]
mov ebp, dword [eax + 8]
cmp byte [ebp], 0x71
je 0x762fd3
mov dword [esp + 0xf4], ebp
lea ebp, [esp + 0xe8]
jmp 0x762fd3
mov eax, dword [esp + 0x40]
mov esi, dword [eax + 0x1c]
test esi, esi
jne 0x763030
mov ebx, dword [esp + 0x7c]
test ebx, ebx
jne 0x7630b7
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x7630f0
mov eax, dword [esp + 0x7c]
add eax, 1
push eax
push 0xa35183
lea ebx, [esp + 0xa0]
push ebx
push 0x10
call fcn.006f7940
add esp, 0x10
sub esp, 4
push ebx
push 0xa35188
push dword [esp + 0x18]
call fcn.006cea90
add esp, 0x10
jmp 0x7616b2
mov byte [esp + 0x98], 0
lea ebx, [esp + 0x98]
jmp 0x7630d6
push edi
push edi
push 0xa3516e
push dword [esp + 0x18]
call fcn.006cea90
add esp, 0x10
jmp 0x7616b2
push ebp
mov eax, dword [esp + 0x14]
push dword [eax]
push 0xa35140
push dword [esp + 0x18]
call fcn.006cea90
add esp, 0x10
jmp 0x7616b2
mov eax, 0xa31457
jmp 0x76169d
jmp 0x798faa
mov eax, dword [0x2c]
ud2