Function at 0x760a34
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c0
push edi
mov dword [ebp - 0xac], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0xc], 2
mov eax, dword [0x100644a0]
mov dword [ebp - 0x180], eax
mov cl, byte [0x100644a4]
mov byte [ebp - 0x17c], cl
xor edx, edx
mov dword [ebp - 0x17b], edx
mov byte [ebp - 0x177], dl
mov ax, word [0x100644a8]
mov word [ebp - 0xa8], ax
xor ecx, ecx
mov word [ebp - 0xa6], cx
mov byte [ebp - 0xa4], cl
mov dx, word [0x100644ac]
mov word [ebp - 0x18c], dx
xor eax, eax
mov word [ebp - 0x18a], ax
mov byte [ebp - 0x188], al
mov byte [ebp - 0x210], 0
mov byte [ebp - 0x214], 0
mov byte [ebp - 0x9c], 0
mov byte [ebp - 0x184], 0
mov byte [ebp - 0xa0], 0
mov cl, byte [0x10099424]
mov byte [ebp - 0x160], cl
mov ecx, 0x1f
xor eax, eax
lea edi, [ebp - 0x15f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dl, byte [0x10099428]
mov byte [ebp - 0x20c], dl
mov ecx, 0x1f
xor eax, eax
lea edi, [ebp - 0x20b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x1009942c]
mov byte [ebp - 0x174], al
xor ecx, ecx
mov dword [ebp - 0x173], ecx
mov dword [ebp - 0x16f], ecx
mov dword [ebp - 0x16b], ecx
mov word [ebp - 0x167], cx
mov dl, byte [0x10099430]
mov byte [ebp - 0x98], dl
mov ecx, 0x1f
xor eax, eax
lea edi, [ebp - 0x97]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov al, byte [0x10099434]
mov byte [ebp - 0xe0], al
mov ecx, 0xc
xor eax, eax
lea edi, [ebp - 0xdf]
rep stosd dword es:[edi], eax
stosb byte es:[edi], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 1]
mov byte [ebp - 0x9c], cl
mov dl, byte [ebp - 0x9c]
shr dl, 3
mov byte [ebp - 0x9c], dl
mov al, byte [ebp - 0x9c]
and al, 7
mov byte [ebp - 0x9c], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
sar ecx, 6
mov byte [ebp - 0x184], cl
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dl, byte [eax + ecx]
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 0xfe
ja 0x7611d0
mov ecx, dword [ebp - 0x274]
xor eax, eax
mov al, byte [ecx + 0x1004a71c]
jmp dword [eax*4 + 0x1004a688]
mov eax, dword [ebp + 0x34]
and eax, 0xff
cmp eax, 1
jne 0x7611e7
mov dword [ebp - 0xac], 2
mov ecx, dword [ebp + 0x24]
and ecx, 0xff
cmp ecx, 1
jne 0x761350
mov byte [ebp - 0x238], 2
mov byte [ebp - 0x237], 3
mov byte [ebp - 0x236], 0x2e
mov byte [ebp - 0x235], 0x2f
mov byte [ebp - 0x234], 0x6e
mov byte [ebp - 0x233], 0x7e
mov byte [ebp - 0x232], 0xa3
mov byte [ebp - 0x231], 0xa4
mov byte [ebp - 0x230], 0xa5
mov byte [ebp - 0x22f], 0xab
mov byte [ebp - 0x22e], 0xac
mov byte [ebp - 0x22d], 0xad
mov byte [ebp - 0x22c], 0xaf
mov byte [ebp - 0x22b], 0xb1
mov byte [ebp - 0x22a], 0xb3
mov byte [ebp - 0x229], 0xbb
mov byte [ebp - 0x228], 0xbc
mov byte [ebp - 0x227], 0xbd
mov byte [ebp - 0x226], 0xc1
mov byte [ebp - 0x225], 0x40
mov byte [ebp - 0x224], 0x41
mov byte [ebp - 0x223], 0x42
mov byte [ebp - 0x222], 0x43
mov byte [ebp - 0x221], 0x44
mov byte [ebp - 0x220], 0x45
mov byte [ebp - 0x21f], 0x46
mov byte [ebp - 0x21e], 0x47
mov byte [ebp - 0x21d], 0x48
mov byte [ebp - 0x21c], 0x49
mov byte [ebp - 0x21b], 0x4a
mov byte [ebp - 0x21a], 0x4b
mov byte [ebp - 0x219], 0x4c
mov byte [ebp - 0x218], 0x4d
mov byte [ebp - 0x217], 0x4e
mov byte [ebp - 0x216], 0x4f
mov dword [ebp - 0x23c], 0
jmp 0x761309
mov edx, dword [ebp - 0x23c]
add edx, 1
mov dword [ebp - 0x23c], edx
cmp dword [ebp - 0x23c], 0x23
jge 0x761350
mov eax, dword [ebp + 0x20]
and eax, 0xff
mov ecx, dword [ebp - 0x23c]
xor edx, edx
mov dl, byte [ebp + ecx - 0x238]
cmp eax, edx
jne 0x76134e
mov dword [ebp - 0xac], 1
mov eax, dword [0x100619dc]
push eax
lea ecx, [ebp - 0x180]
push ecx
call fcn.0074be8a
add esp, 8
jmp 0x761350
jmp 0x7612fa
mov edx, dword [ebp + 0x38]
and edx, 0xff
cmp edx, 1
jne 0x761373
mov eax, dword [0x100619d8]
push eax
lea ecx, [ebp - 0x180]
push ecx
call fcn.0074be8a
add esp, 8
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dl, byte [eax + ecx + 1]
and edx, 7
mov dword [ebp - 0x14], edx
mov eax, dword [ebp + 0x2c]
and eax, 0xff
cmp eax, 1
jne 0x762c00
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
and ecx, 0xf
mov byte [ebp - 0xa0], cl
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dl, byte [eax + ecx + 1]
and edx, 0x38
sar edx, 3
mov byte [ebp - 0x210], dl
mov eax, dword [ebp - 0xa0]
and eax, 0xff
mov dword [ebp - 0x280], eax
cmp dword [ebp - 0x280], 0xf
ja 0x761591
mov ecx, dword [ebp - 0x280]
jmp dword [ecx*4 + 0x1004a853]
mov dl, byte [ebp - 0x184]
mov byte [ebp - 0x284], dl
cmp byte [ebp - 0x284], 0
je 0x7615c5
cmp byte [ebp - 0x284], 1
je 0x7616f2
cmp byte [ebp - 0x284], 2
je 0x761828
jmp 0x761900
lea eax, [ebp - 0x174]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx*4 + 0x100619fc]
push edx
lea eax, [ebp - 0x180]
push eax
push 0x100644d8
lea ecx, [ebp - 0x20c]
push ecx
call dword [0x100593bc]
add esp, 0x14
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x164]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, dword [ebp + 0x10]
push edx
call fcn.007669aa
add esp, 0xc
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
lea edx, [eax + ecx + 2]
push edx
call fcn.007669e5
add esp, 0xc
mov eax, dword [ebp - 0x164]
and eax, 0xffff
and eax, 0xff
and eax, 0xf
cmp eax, 6
jne 0x761696
mov ecx, dword [ebp - 0x18]
push ecx
push 0x100644e8
lea edx, [ebp - 0x160]
push edx
call dword [0x100593bc]
add esp, 0xc
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov byte [ecx + 0x240], 4
lea edx, [ebp - 0x160]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
add ecx, 0x200
push ecx
call dword [0x1005908c]
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
mov dl, byte [eax + ecx + 4]
mov byte [ebp - 0xa0], dl
jmp 0x7616ed
mov eax, dword [ebp - 0x164]
and eax, 0xffff
push eax
push 0x100644f0
lea ecx, [ebp - 0x160]
push ecx
call dword [0x100593bc]
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov byte [eax + 0x240], 2
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, 0x200
push eax
call dword [0x1005908c]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 2]
mov byte [ebp - 0xa0], cl
jmp 0x761900
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x164]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
lea ecx, [edx + eax + 1]
push ecx
call fcn.007669aa
add esp, 0xc
mov edx, dword [ebp - 0x164]
and edx, 0xffff
and edx, 0xff
mov byte [ebp - 0xa0], dl
mov eax, dword [ebp - 0xa0]
and eax, 0xff
cmp eax, 0x7f
jle 0x76176e
mov ecx, dword [0x10061a1c]
push ecx
push 0x100644f8
lea edx, [ebp - 0xa8]
push edx
call dword [0x100593bc]
add esp, 0xc
mov eax, dword [ebp - 0xa0]
and eax, 0xff
mov ecx, 0x100
sub ecx, eax
mov byte [ebp - 0xa0], cl
mov edx, dword [ebp - 0x164]
and edx, 0xffff
push edx
mov eax, dword [ebp + 0x20]
and eax, 0xff
push eax
push 0x100644fc
lea ecx, [ebp - 0x160]
push ecx
call dword [0x100593bc]
add esp, 0x10
lea edx, [ebp - 0x160]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
add ecx, 0x200
push ecx
call dword [0x1005908c]
mov edx, dword [ebp - 0xa0]
and edx, 0xff
push edx
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x174]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx*4 + 0x100619fc]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 0x10064508
lea edx, [ebp - 0x20c]
push edx
call dword [0x100593bc]
add esp, 0x1c
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov dword [ecx], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov byte [eax + 0x240], 3
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 3]
mov byte [ebp - 0xa0], cl
jmp 0x761900
lea edx, [ebp - 4]
push edx
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, dword [ebp + 0x10]
push edx
call fcn.007669e5
add esp, 0xc
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x164]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
lea edx, [eax + ecx + 2]
push edx
call fcn.007669aa
add esp, 0xc
mov eax, dword [ebp - 0x18]
push eax
push 0x10064520
lea ecx, [ebp - 0x160]
push ecx
call dword [0x100593bc]
add esp, 0xc
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov byte [eax + 0x240], 4
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, 0x200
push eax
call dword [0x1005908c]
mov ecx, dword [ebp - 8]
and ecx, 0xffff
push ecx
lea edx, [ebp - 0xa8]
push edx
lea eax, [ebp - 0x174]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx*4 + 0x100619fc]
push edx
lea eax, [ebp - 0x180]
push eax
push 0x10064528
lea ecx, [ebp - 0x20c]
push ecx
call dword [0x100593bc]
add esp, 0x1c
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [eax]
add ecx, 2
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 4]
mov byte [ebp - 0xa0], cl
mov dl, byte [ebp + 0x30]
mov byte [ebp - 0x288], dl
cmp byte [ebp - 0x288], 0
je 0x761924
cmp byte [ebp - 0x288], 1
je 0x761e3f
jmp 0x762bea
mov eax, dword [ebp + 0x20]
and eax, 0xff
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 0xe7
ja 0x761e27
mov edx, dword [ebp - 0x28c]
xor ecx, ecx
mov cl, byte [edx + 0x1004a8cf]
jmp dword [ecx*4 + 0x1004a893]
lea ecx, [ebp - 0x98]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call dword [0x1005908c]
jmp 0x762bea
mov ecx, dword [ebp + 0x20]
and ecx, 0xff
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0x290]
sub edx, 2
mov dword [ebp - 0x290], edx
cmp dword [ebp - 0x290], 0xfc
ja 0x762bd7
mov ecx, dword [ebp - 0x290]
xor eax, eax
mov al, byte [ecx + 0x1004aa27]
jmp dword [eax*4 + 0x1004a9b7]
lea ecx, [ebp - 0x98]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call dword [0x1005908c]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx]
add eax, 1
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx]
mov dword [edx], eax
jmp 0x765fcf
cmp dword [ebp - 0x14], 4
je 0x7644bf
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
xor eax, eax
mov al, byte [ecx + edx + 1]
and eax, 7
mov byte [ebp - 0x210], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cl, byte [edx + eax + 1]
and ecx, 0x38
sar ecx, 3
mov byte [ebp - 0x214], cl
mov dl, byte [ebp - 0x184]
mov byte [ebp - 0x298], dl
cmp byte [ebp - 0x298], 0
je 0x762c6f
cmp byte [ebp - 0x298], 1
je 0x762e3f
cmp byte [ebp - 0x298], 2
je 0x762fa7
jmp 0x7630d3
mov eax, dword [ebp - 0x210]
and eax, 0xff
cmp eax, 5
jne 0x762d75
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0x18]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
lea eax, [ecx + edx + 2]
push eax
call fcn.007669e5
add esp, 0xc
lea ecx, [ebp - 8]
push ecx
lea edx, [ebp - 0x164]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, dword [ebp + 0x10]
push ecx
call fcn.007669aa
add esp, 0xc
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebp - 0x164]
and eax, 0xffff
push eax
push 0x10064878
lea ecx, [ebp - 0x160]
push ecx
call dword [0x100593bc]
add esp, 0x10
lea edx, [ebp - 0x160]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
add ecx, 0x200
push ecx
call dword [0x1005908c]
mov edx, dword [ebp - 4]
push edx
push 0x10064884
lea eax, [ebp - 0xe0]
push eax
call dword [0x100593bc]
add esp, 0xc
lea ecx, [ebp - 0xe0]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx*4 + 0x100619fc]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 0x1006488c
lea edx, [ebp - 0x160]
push edx
call dword [0x100593bc]
add esp, 0x14
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov byte [ecx + 0x240], 6
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [eax]
add ecx, 5
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 6]
mov byte [ebp - 0xa0], cl
jmp 0x762e3a
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x164]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, dword [ebp + 0x10]
push edx
call fcn.007669aa
add esp, 0xc
mov eax, dword [ebp - 0x164]
and eax, 0xffff
push eax
push 0x1006489c
lea ecx, [ebp - 0x160]
push ecx
call dword [0x100593bc]
add esp, 0xc
lea edx, [ebp - 0x160]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
add ecx, 0x200
push ecx
call dword [0x1005908c]
mov edx, dword [ebp - 0xc]
imul edx, edx, 0x24
mov eax, dword [ebp - 0x210]
and eax, 0xff
mov ecx, dword [edx + eax*4 + 0x10061968]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx*4 + 0x100619fc]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 0x100648a4
lea edx, [ebp - 0x160]
push edx
call dword [0x100593bc]
add esp, 0x14
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx]
add edx, 1
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov dword [ecx], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov byte [eax + 0x240], 2
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 2]
mov byte [ebp - 0xa0], cl
jmp 0x7630d3
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
mov dl, byte [eax + ecx + 2]
mov byte [ebp - 0xa0], dl
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x164]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, dword [ebp + 0x10]
push eax
call fcn.007669aa
add esp, 0xc
mov ecx, dword [ebp - 0xa0]
and ecx, 0xff
push ecx
mov edx, dword [ebp - 0x164]
and edx, 0xffff
push edx
push 0x100648b4
lea eax, [ebp - 0x160]
push eax
call dword [0x100593bc]
add esp, 0x10
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, 0x200
push eax
call dword [0x1005908c]
mov ecx, dword [ebp - 0xa0]
and ecx, 0xff
cmp ecx, 0x7f
jle 0x762efa
mov edx, dword [0x10061a1c]
push edx
push 0x100648c0
lea eax, [ebp - 0xa8]
push eax
call dword [0x100593bc]
add esp, 0xc
mov ecx, dword [ebp - 0xa0]
and ecx, 0xff
mov edx, 0x100
sub edx, ecx
mov byte [ebp - 0xa0], dl
mov eax, dword [ebp - 0x210]
and eax, 0xff
cmp eax, 5
jne 0x762f1e
mov ecx, dword [ebp + 0x28]
and ecx, 0xff
test ecx, ecx
jne 0x762f1e
mov dword [ebp + 0x18], 2
mov edx, dword [ebp - 0xa0]
and edx, 0xff
push edx
lea eax, [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x24
mov edx, dword [ebp - 0x210]
and edx, 0xff
mov eax, dword [ecx + edx*4 + 0x10061968]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx*4 + 0x100619fc]
push edx
lea eax, [ebp - 0x180]
push eax
push 0x100648c4
lea ecx, [ebp - 0x160]
push ecx
call dword [0x100593bc]
add esp, 0x1c
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [eax]
add ecx, 2
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + 0x240], 3
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
mov al, byte [ecx + edx + 3]
mov byte [ebp - 0xa0], al
jmp 0x7630d3
mov ecx, dword [ebp - 0x210]
and ecx, 0xff
cmp ecx, 5
jne 0x762fcc
mov edx, dword [ebp + 0x28]
and edx, 0xff
test edx, edx
jne 0x762fcc
mov dword [ebp + 0x18], 2
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
lea edx, [eax + ecx + 2]
push edx
call fcn.007669e5
add esp, 0xc
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x164]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
add eax, dword [ebp + 0x10]
push eax
call fcn.007669aa
add esp, 0xc
mov ecx, dword [ebp - 0x18]
push ecx
mov edx, dword [ebp - 0x164]
and edx, 0xffff
push edx
push 0x100648dc
lea eax, [ebp - 0x160]
push eax
call dword [0x100593bc]
add esp, 0x10
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, 0x200
push eax
call dword [0x1005908c]
mov ecx, dword [ebp - 4]
push ecx
push 0x100648e8
lea edx, [ebp - 0xe0]
push edx
call dword [0x100593bc]
add esp, 0xc
lea eax, [ebp - 0xe0]
push eax
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x24
mov edx, dword [ebp - 0x210]
and edx, 0xff
mov eax, dword [ecx + edx*4 + 0x10061968]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx*4 + 0x100619fc]
push edx
lea eax, [ebp - 0x180]
push eax
push 0x100648f0
lea ecx, [ebp - 0x160]
push ecx
call dword [0x100593bc]
add esp, 0x18
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [eax]
add ecx, 5
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov dword [eax], ecx
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + 0x240], 6
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
mov al, byte [ecx + edx + 6]
mov byte [ebp - 0xa0], al
mov cl, byte [ebp + 0x30]
mov byte [ebp - 0x29c], cl
cmp byte [ebp - 0x29c], 0
je 0x7630f7
cmp byte [ebp - 0x29c], 1
je 0x76360f
jmp 0x7644ba
mov edx, dword [ebp + 0x20]
and edx, 0xff
mov dword [ebp - 0x2a0], edx
cmp dword [ebp - 0x2a0], 0xe7
ja 0x7635f7
mov ecx, dword [ebp - 0x2a0]
xor eax, eax
mov al, byte [ecx + 0x1004ab60]
jmp dword [eax*4 + 0x1004ab24]
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call dword [0x1005908c]
jmp 0x7644ba
mov eax, dword [ebp + 0x20]
and eax, 0xff
mov dword [ebp - 0x2a4], eax
mov ecx, dword [ebp - 0x2a4]
sub ecx, 2
mov dword [ebp - 0x2a4], ecx
cmp dword [ebp - 0x2a4], 0xfc
ja 0x7644a7
mov eax, dword [ebp - 0x2a4]
xor edx, edx
mov dl, byte [eax + 0x1004acc0]
jmp dword [edx*4 + 0x1004ac48]
lea eax, [ebp - 0x20c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
push edx
call dword [0x1005908c]
jmp 0x765fcf
cmp dword [ebp - 0x14], 4
jne 0x765fcf
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov edx, dword [ebp + 0x10]
xor eax, eax
mov al, byte [ecx + edx + 2]
and eax, 0x38
sar eax, 3
mov byte [ebp - 0x210], al
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
xor ecx, ecx
mov cl, byte [edx + eax + 2]
and ecx, 7
mov byte [ebp - 0x214], cl
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
xor edx, edx
mov dl, byte [eax + ecx + 2]
and edx, 0xc0
sar edx, 6
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x10]
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 3
ja 0x7645ac
mov ecx, dword [ebp - 0x2ac]
jmp dword [ecx*4 + 0x1004adbd]
mov cl, byte [ebp - 0x184]
mov byte [ebp - 0x2b0], cl
cmp byte [ebp - 0x2b0], 0
je 0x7645e0
cmp byte [ebp - 0x2b0], 1
je 0x764956
cmp byte [ebp - 0x2b0], 2
je 0x764b35
jmp 0x764ce4
lea edx, [ebp - 8]
push edx
lea eax, [ebp - 0x164]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
lea ecx, [edx + eax + 1]
push ecx
call fcn.007669aa
add esp, 0xc
lea edx, [ebp - 4]
push edx
lea eax, [ebp - 0x18]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
lea ecx, [edx + eax + 3]
push ecx
call fcn.007669e5
add esp, 0xc
mov edx, dword [ebp - 0x210]
and edx, 0xff
cmp edx, 4
jne 0x764716
mov eax, dword [ebp - 0x214]
and eax, 0xff
cmp eax, 5
je 0x764716
mov ecx, dword [ebp - 0x214]
and ecx, 0xff
cmp ecx, 4
jne 0x76465e
mov dword [ebp + 0x18], 2
mov edx, dword [ebp - 0x164]
and edx, 0xffff
push edx
mov eax, dword [ebp + 0x20]
and eax, 0xff
push eax
push 0x10064c80
lea ecx, [ebp - 0x160]
push ecx
call dword [0x100593bc]
add esp, 0x10
lea edx, [ebp - 0x160]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
add ecx, 0x200
push ecx
call dword [0x1005908c]
mov edx, dword [ebp - 0xc]
imul edx, edx, 0x24
mov eax, dword [ebp - 0x214]
and eax, 0xff
mov ecx, dword [edx + eax*4 + 0x10061968]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx*4 + 0x100619fc]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 0x10064c8c
lea edx, [ebp - 0x160]
push edx
call dword [0x100593bc]
add esp, 0x14
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx]
add edx, 2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov dword [ecx], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov byte [eax + 0x240], 3
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 3]
mov byte [ebp - 0xa0], cl
jmp 0x764951
mov edx, dword [ebp - 0x214]
and edx, 0xff
cmp edx, 5
je 0x76481b
mov eax, dword [ebp - 0x214]
and eax, 0xff
cmp eax, 4
jne 0x764742
mov dword [ebp + 0x18], 2
mov ecx, dword [ebp - 0x164]
and ecx, 0xffff
push ecx
mov edx, dword [ebp + 0x20]
and edx, 0xff
push edx
push 0x10064c9c
lea eax, [ebp - 0x160]
push eax
call dword [0x100593bc]
add esp, 0x10
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, 0x200
push eax
call dword [0x1005908c]
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x24
mov edx, dword [ebp - 0x214]
and edx, 0xff
mov eax, dword [ecx + edx*4 + 0x10061968]
push eax
lea ecx, [ebp - 0xa8]
push ecx
mov edx, dword [ebp - 0xc]
imul edx, edx, 0x24
mov eax, dword [ebp - 0x210]
and eax, 0xff
mov ecx, dword [edx + eax*4 + 0x10061968]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx*4 + 0x100619fc]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 0x10064ca8
lea edx, [ebp - 0x160]
push edx
call dword [0x100593bc]
add esp, 0x1c
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx]
add edx, 2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov dword [ecx], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov byte [eax + 0x240], 3
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 3]
mov byte [ebp - 0xa0], cl
jmp 0x764951
mov edx, dword [ebp - 0x214]
and edx, 0xff
cmp edx, 5
jne 0x764951
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x164]
and ecx, 0xffff
push ecx
mov edx, dword [ebp + 0x20]
and edx, 0xff
push edx
push 0x10064cbc
lea eax, [ebp - 0x160]
push eax
call dword [0x100593bc]
add esp, 0x14
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, 0x200
push eax
call dword [0x1005908c]
mov ecx, dword [ebp - 0x210]
and ecx, 0xff
cmp ecx, 4
jne 0x7648b3
push 0x10099468
lea edx, [ebp - 0x98]
push edx
call fcn.0074be8a
add esp, 8
push 0x1009946c
lea eax, [ebp - 0xa8]
push eax
call fcn.0074be8a
add esp, 8
jmp 0x7648e2
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x24
mov edx, dword [ebp - 0x210]
and edx, 0xff
mov eax, dword [ecx + edx*4 + 0x10061968]
push eax
push 0x10064ccc
lea ecx, [ebp - 0x98]
push ecx
call dword [0x100593bc]
add esp, 0xc
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0x98]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx*4 + 0x100619fc]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 0x10064cd0
lea edx, [ebp - 0x160]
push edx
call dword [0x100593bc]
add esp, 0x1c
mov byte [ebp - 0x184], 2
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov edx, dword [ecx]
add edx, 6
mov eax, dword [ebp + 0x1c]
mov ecx, dword [eax]
mov dword [ecx], edx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov byte [eax + 0x240], 7
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 6]
mov byte [ebp - 0xa0], cl
jmp 0x764ce4
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
mov dl, byte [eax + ecx + 3]
mov byte [ebp - 0xa0], dl
mov eax, dword [ebp - 0xa0]
and eax, 0xff
cmp eax, 0x7f
jle 0x7649ac
mov ecx, dword [0x10061a1c]
push ecx
push 0x10064ce8
lea edx, [ebp - 0x18c]
push edx
call dword [0x100593bc]
add esp, 0xc
mov eax, dword [ebp - 0xa0]
and eax, 0xff
mov ecx, 0x100
sub ecx, eax
mov byte [ebp - 0xa0], cl
mov edx, dword [ebp - 0x214]
and edx, 0xff
cmp edx, 5
je 0x7649cd
mov eax, dword [ebp - 0x210]
and eax, 0xff
cmp eax, 4
jne 0x764a2b
mov dword [ebp + 0x18], 2
mov ecx, dword [ebp - 0xa0]
and ecx, 0xff
push ecx
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x24
mov ecx, dword [ebp - 0x214]
and ecx, 0xff
mov edx, dword [eax + ecx*4 + 0x10061968]
push edx
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax*4 + 0x100619fc]
push ecx
lea edx, [ebp - 0x180]
push edx
push 0x10064cec
lea eax, [ebp - 0x20c]
push eax
call dword [0x100593bc]
add esp, 0x1c
jmp 0x764aa1
mov ecx, dword [ebp - 0xa0]
and ecx, 0xff
push ecx
lea edx, [ebp - 0x18c]
push edx
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x24
mov ecx, dword [ebp - 0x214]
and ecx, 0xff
mov edx, dword [eax + ecx*4 + 0x10061968]
push edx
lea eax, [ebp - 0xa8]
push eax
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x24
mov edx, dword [ebp - 0x210]
and edx, 0xff
mov eax, dword [ecx + edx*4 + 0x10061968]
push eax
mov ecx, dword [ebp + 0x18]
mov edx, dword [ecx*4 + 0x100619fc]
push edx
lea eax, [ebp - 0x180]
push eax
push 0x10064d04
lea ecx, [ebp - 0x20c]
push ecx
call dword [0x100593bc]
add esp, 0x24
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [eax]
add ecx, 3
mov edx, dword [ebp + 0x1c]
mov eax, dword [edx]
mov dword [eax], ecx
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0x18]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, dword [ebp + 0x10]
push ecx
call fcn.007669e5
add esp, 0xc
mov edx, dword [ebp - 0x18]
push edx
push 0x10064d20
lea eax, [ebp - 0x160]
push eax
call dword [0x100593bc]
add esp, 0xc
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, 0x200
push eax
call dword [0x1005908c]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov byte [edx + 0x240], 4
lea eax, [ebp - 0x20c]
push eax
lea ecx, [ebp - 0x160]
push ecx
call fcn.0074be8a
add esp, 8
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
mov dl, byte [eax + ecx + 4]
mov byte [ebp - 0xa0], dl
jmp 0x764ce4
lea eax, [ebp - 4]
push eax
lea ecx, [ebp - 0x18]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
lea edx, [eax + ecx + 3]
push edx
call fcn.007669e5
add esp, 0xc
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x164]
push ecx
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x10]
lea edx, [eax + ecx + 3]
push edx
call fcn.007669aa
add esp, 0xc
mov eax, dword [ebp - 0x210]
and eax, 0xff
cmp eax, 4
je 0x764c0c
mov ecx, dword [ebp - 0x214]
and ecx, 0xff
cmp ecx, 5
jne 0x764b9e
mov dword [ebp + 0x18], 2
mov edx, dword [ebp - 4]
push edx
lea eax, [ebp - 0x18c]
push eax
mov ecx, dword [ebp - 0xc]
imul ecx, ecx, 0x24
mov edx, dword [ebp - 0x214]
and edx, 0xff
mov eax, dword [ecx + edx*4 + 0x10061968]
push eax
lea ecx, [ebp - 0xa8]
push ecx
mov edx, dword [ebp - 0xc]
imul edx, edx, 0x24
mov eax, dword [ebp - 0x210]
and eax, 0xff
mov ecx, dword [edx + eax*4 + 0x10061968]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx*4 + 0x100619fc]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 0x10064d28
lea edx, [ebp - 0x20c]
push edx
call dword [0x100593bc]
add esp, 0x24
jmp 0x764c57
mov eax, dword [ebp - 4]
push eax
lea ecx, [ebp - 0x18c]
push ecx
mov edx, dword [ebp - 0xc]
imul edx, edx, 0x24
mov eax, dword [ebp - 0x214]
and eax, 0xff
mov ecx, dword [edx + eax*4 + 0x10061968]
push ecx
mov edx, dword [ebp + 0x18]
mov eax, dword [edx*4 + 0x100619fc]
push eax
lea ecx, [ebp - 0x180]
push ecx
push 0x10064d44
lea edx, [ebp - 0x20c]
push edx
call dword [0x100593bc]
add esp, 0x1c
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x164]
and ecx, 0xffff
push ecx
mov edx, dword [ebp + 0x20]
and edx, 0xff
push edx
push 0x10064d5c
lea eax, [ebp - 0x160]
push eax
call dword [0x100593bc]
add esp, 0x14
lea ecx, [ebp - 0x160]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
add eax, 0x200
push eax
call dword [0x1005908c]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [edx]
add eax, 6
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ecx]
mov dword [edx], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov byte [ecx + 0x240], 7
lea edx, [ebp - 0x20c]
push edx
lea eax, [ebp - 0x160]
push eax
call fcn.0074be8a
add esp, 8
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
mov eax, dword [ebp + 0x10]
mov cl, byte [edx + eax + 7]
mov byte [ebp - 0xa0], cl
mov dl, byte [ebp + 0x30]
mov byte [ebp - 0x2b4], dl
cmp byte [ebp - 0x2b4], 0
je 0x764d08
cmp byte [ebp - 0x2b4], 1
je 0x765223
jmp 0x765fcf
mov eax, dword [ebp + 0x20]
and eax, 0xff
mov dword [ebp - 0x2b8], eax
cmp dword [ebp - 0x2b8], 0xe7
ja 0x76520b
mov edx, dword [ebp - 0x2b8]
xor ecx, ecx
mov cl, byte [edx + 0x1004ae09]
jmp dword [ecx*4 + 0x1004adcd]
lea ecx, [ebp - 0x20c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call dword [0x1005908c]
jmp 0x765fcf
mov ecx, dword [ebp + 0x20]
and ecx, 0xff
mov dword [ebp - 0x2bc], ecx
mov edx, dword [ebp - 0x2bc]
sub edx, 2
mov dword [ebp - 0x2bc], edx
cmp dword [ebp - 0x2bc], 0xfc
ja 0x765fbc
mov ecx, dword [ebp - 0x2bc]
xor eax, eax
mov al, byte [ecx + 0x1004af61]
jmp dword [eax*4 + 0x1004aef1]
lea ecx, [ebp - 0x20c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx]
push eax
call dword [0x1005908c]
pop edi
mov esp, ebp
pop ebp
ret