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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x37c
mov ebx, dword [esp + 0x394]
lea eax, [ebx + 0x744]
mov dword [esp + 0x78], eax
lea edx, [ebx + 0x14a0]
mov dword [esp + 0x7c], edx
lea ecx, [ebx + 0xc40]
mov dword [esp + 0x5c], ecx
lea edi, [esp + 0x128]
mov dword [esp + 0x40], edi
mov esi, 0x6aad3100
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xd4], 0
mov edx, dword [esp + 0x390]
mov eax, dword [edx + 0x19f1c]
mov dword [esp + 4], eax
mov eax, dword [edx + 0x19f14]
mov dword [esp], eax
call fcn.6a833f14
lea eax, [eax + eax*4]
shl eax, 1
mov dword [esp + 0x80], eax
mov dword [esp + 0xb8], 0
mov dword [esp + 0x298], 0x7fffffff
mov dword [esp + 0x294], 0x7fffffff
mov dword [esp + 0x29c], 0x7fffffff
lea edi, [esp + 0x178]
mov dword [esp + 0x3c], edi
xor eax, eax
mov ecx, 0x50
rep stosb byte es:[edi], al
lea edi, [esp + 0x2a0]
mov dword [esp + 0x44], edi
mov cl, 0xc
rep stosb byte es:[edi], al
lea edx, [esp + 0x2ac]
mov cl, 0x40
mov edi, edx
rep stosb byte es:[edi], al
mov dword [esp + 0x104], 0
mov edx, dword [esp + 0x390]
mov eax, dword [edx + 0x2894c]
mov edi, eax
and edi, 1
je 0x6a8731e4
mov dword [esp + 0x108], 1
mov dword [esp + 0x50], 4
mov dword [esp + 0x48], 0xc
mov edx, 3
mov esi, 8
mov cl, 2
mov ebp, eax
and ebp, 2
je 0x6a871d22
mov dword [esp + esi + 0x104], 2
mov esi, dword [esp + 0x48]
mov ecx, edx
mov edx, dword [esp + 0x50]
and eax, 4
je 0x6a871d39
mov dword [esp + esi + 0x104], 3
cmp edx, 4
je 0x6a871d55
mov ecx, edx
lea edx, [esp + ecx*4 + 0x104]
lea esi, [esp + 0x114]
nop
mov dword [edx], 0xffffffff
add edx, 4
cmp edx, esi
jne 0x6a871d48
mov edx, dword [esp + 0x108]
test edx, edx
jle 0x6a87325c
mov eax, dword [esp + 0x390]
add eax, 0x1ac84
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
lea eax, [esp + 0xf4]
mov dword [esp + 0x10], eax
lea eax, [esp + 0xec]
mov dword [esp + 0xc], eax
lea esi, [esp + 0x178]
mov dword [esp + 8], esi
mov eax, dword [ebx + 0x17d8]
mov dword [esp + 4], eax
mov edi, dword [esp + 0x5c]
mov dword [esp], edi
call fcn.6a879bb0
mov dword [esp + 0x58], eax
lea eax, [eax + eax*4]
lea eax, [esp + eax*8 + 0x178]
mov dword [esp + 0x54], eax
mov edx, dword [esp + 0x58]
mov eax, dword [esp + edx*4 + 0xec]
mov dword [esp + 0xb8], eax
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx + 0x2894c]
mov edi, eax
and edi, 1
mov ebp, eax
and ebp, 2
and eax, 4
test edi, edi
je 0x6a871e3e
mov esi, dword [esp + 0x390]
mov edx, dword [esi + 0x19e20]
lea edx, [edx + edx*2]
lea edx, [edx + edx*4]
lea edx, [esi + edx*4 + 0x19d1c]
mov ecx, dword [esp + 0x398]
add ecx, dword [edx + 0x18]
mov dword [esp + 0x154], ecx
mov ecx, dword [esp + 0x39c]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x158], ecx
mov edx, dword [edx + 0x20]
add edx, dword [esp + 0x39c]
mov dword [esp + 0x15c], edx
test ebp, ebp
je 0x6a871e8f
mov edi, dword [esp + 0x390]
mov edx, dword [edi + 0x19e24]
lea edx, [edx + edx*2]
lea edx, [edx + edx*4]
lea edx, [edi + edx*4 + 0x19d1c]
mov ecx, dword [esp + 0x398]
add ecx, dword [edx + 0x18]
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 0x39c]
add ecx, dword [edx + 0x1c]
mov dword [esp + 0x164], ecx
mov edx, dword [edx + 0x20]
add edx, dword [esp + 0x39c]
mov dword [esp + 0x168], edx
test eax, eax
je 0x6a871ee0
mov edx, dword [esp + 0x390]
mov eax, dword [edx + 0x19e28]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4 + 0x19d1c]
mov edx, dword [esp + 0x398]
add edx, dword [eax + 0x18]
mov dword [esp + 0x16c], edx
mov edx, dword [esp + 0x39c]
add edx, dword [eax + 0x1c]
mov dword [esp + 0x170], edx
mov eax, dword [eax + 0x20]
add eax, dword [esp + 0x39c]
mov dword [esp + 0x174], eax
mov ecx, dword [esp + 0x3a8]
mov dword [ecx], 0x7fffffff
mov esi, dword [esp + 0x390]
inc dword [esi + 0x1ca60]
mov dword [ebx + 0x7c24], 0
mov ebp, esi
add ebp, 0x1ca64
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x64], 0
add esi, 0x28908
mov dword [esp + 0x84], esi
jmp 0x6a871f82
mov edi, dword [edi + 0x1c7c4]
test edi, edi
jne 0x6a87200c
cmp dword [esp + 0x50], 7
je 0x6a873290
lea esi, [esi]
inc dword [esp + 0x48]
add ebp, 4
cmp dword [esp + 0x48], 0x14
je 0x6a8720e4
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
mov edi, dword [esp + 0x48]
mov esi, dword [edi*4 + 0x6ac55ba0]
mov eax, dword [esp + esi*4 + 0x104]
mov edx, dword [ebp + 0xa0]
cmp dword [esp + 0x298], edx
jle 0x6a871f70
test eax, eax
js 0x6a871f70
mov dword [esp + 0x114], 0
mov dword [esp + 0x120], 0
mov ecx, dword [edi*4 + 0x6ac55c00]
mov dword [esp + 0x50], ecx
mov edx, dword [ebx + 0x17d8]
mov byte [esp + 0x4c], cl
mov cl, byte [esp + 0x50]
mov byte [edx], cl
mov edx, dword [ebx + 0x17d8]
mov byte [edx + 2], al
mov edi, dword [esp + 0x390]
mov edx, dword [edi + 0x1c908]
test edx, edx
jne 0x6a871f54
mov edx, dword [ebx + 0x17d8]
cmp byte [edx + 2], 0
je 0x6a87207a
lea edx, [eax + eax*2]
lea edx, [esp + edx*4 + 0x370]
mov ecx, dword [edx - 0x228]
mov dword [ebx + 0x1778], ecx
mov ecx, dword [edx - 0x224]
mov dword [ebx + 0x177c], ecx
mov edx, dword [edx - 0x220]
mov dword [ebx + 0x1780], edx
mov ecx, dword [esp + 0x390]
mov edx, dword [ecx + eax*4 + 0x1ac84]
cmp edx, dword [esp + 0x58]
je 0x6a87207a
lea ecx, [edx + edx*4]
lea ecx, [esp + ecx*8 + 0x178]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + edx*4 + 0xec]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0x58], edx
mov edx, dword [ebp - 0xa4]
test edx, edx
je 0x6a872250
mov ecx, dword [ebp - 0xf4]
cmp ecx, 1
jbe 0x6a872250
imul ecx, edx
mov edi, dword [esp + 0x390]
cmp dword [edi + 0x1ca60], ecx
ja 0x6a872250
mov edx, dword [ebp]
add edx, 4
cmp edx, 0x200
jg 0x6a873208
mov dword [ebp], edx
mov eax, dword [ebp + 0x50]
sar eax, 7
imul eax, edx
mov dword [ebp + 0xa0], eax
inc dword [esp + 0x48]
add ebp, 4
cmp dword [esp + 0x48], 0x14
jne 0x6a871f82
nop
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x390]
mov eax, dword [edi + esi*4 + 0x1cab4]
lea edx, [eax - 1]
cmp edx, 0x1ffffffd
ja 0x6a872147
mov ecx, esi
add ecx, 0x7298
mov edx, dword [edi + ecx*4 + 4]
mov edi, edx
sar edi, 2
lea esi, [edi + 0x1f]
cmp edx, esi
jg 0x6a873254
mov edx, 0x20
mov esi, dword [esp + 0x390]
mov dword [esi + ecx*4 + 4], edx
sar eax, 7
imul edx, eax
mov edi, dword [esp + 0x64]
mov dword [esi + edi*4 + 0x1cb04], edx
mov esi, edi
mov edi, dword [esp + 0x390]
inc dword [edi + esi*4 + 0x1ca10]
mov esi, dword [edi + 0x1c710]
test esi, esi
je 0x6a8721d6
mov ecx, dword [ebx + 0x17e0]
test ecx, ecx
jne 0x6a87218a
movzx eax, byte [esp + 0x2a0]
mov dword [ebx + 0x17e0], eax
mov eax, dword [esp + 0x2a4]
mov dword [ebx + 0x17e4], eax
mov al, byte [esp + 0x2aa]
mov byte [ebx + 0x17e8], al
mov edx, dword [esp + 0x39c]
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x398]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x390]
add eax, 0x2b670
mov dword [esp], eax
call fcn.6a821728
cmp byte [esp + 0x2a2], 0
je 0x6a8738db
mov edx, dword [ebx + 0x17d8]
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx + 0x1c908]
test eax, eax
je 0x6a872f88
mov eax, dword [esp + 0x2a0]
and eax, 0xff00ff
cmp eax, 0x30007
je 0x6a872f88
mov byte [edx], 7
mov eax, dword [ebx + 0x17d8]
mov byte [eax + 2], 3
mov eax, dword [ebx + 0x17d8]
mov dword [eax + 4], 0
mov eax, dword [ebx + 0x17d8]
mov byte [eax + 1], 0
mov eax, dword [ebx + 0x17d8]
mov edx, dword [ecx + 0x19f04]
mov byte [eax + 9], dl
mov eax, dword [ebx + 0x17d8]
mov byte [eax + 8], 0
add esp, 0x37c
pop ebx
pop esi
pop edi
pop ebp
ret
inc edx
mov dword [ebp - 0xa4], edx
mov edx, dword [esp + 0x390]
mov ecx, dword [edx + 0x20cd0]
test ecx, ecx
je 0x6a872295
test eax, eax
jne 0x6a872f5c
mov dword [edx + 0x20ccc], 0
mov edi, dword [esp + 0x390]
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [esp + 0x38], eax
call fcn.6a8154c4
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x68]
test edx, edx
jne 0x6a8722a5
test eax, eax
je 0x6a873130
cmp dword [esp + 0x50], 9
jbe 0x6a87239c
mov ecx, dword [esp + 0xd8]
mov eax, 0x7fffffff
lea esi, [esp + 0x114]
mov dword [esp + 0x14], ebx
mov edi, dword [esp + 0x84]
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x390]
add edx, 0x19f04
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x80]
mov dword [esp + 8], edx
mov edi, dword [esp + 0x70]
mov dword [esp + 4], edi
mov dword [esp], ecx
lea ecx, [esp + 0xdc]
mov edx, esi
call fcn.6a86bf5c
mov esi, dword [ebx + 0x17d8]
cmp byte [esi + 2], 0
jne 0x6a872333
cmp eax, dword [esp + 0x29c]
jge 0x6a872333
mov dword [esp + 0x29c], eax
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x3a8]
mov dword [ecx], edx
mov edi, dword [esp + 0x390]
mov ecx, dword [edi + 0x1c710]
test ecx, ecx
je 0x6a872358
mov edx, dword [esi]
and edx, 0xff00ff
cmp edx, 0x10008
je 0x6a8732a8
cmp eax, dword [esp + 0x298]
jl 0x6a872e5c
mov edx, dword [ebx + 0x7c24]
test edx, edx
jne 0x6a872e5c
mov edx, dword [ebp]
add edx, 4
cmp edx, 0x200
jg 0x6a87321c
mov dword [ebp], edx
mov eax, dword [ebp + 0x50]
sar eax, 7
imul eax, edx
mov dword [ebp + 0xa0], eax
jmp 0x6a872f48
mov eax, dword [esp + 0x50]
jmp dword [eax*4 + 0x6ac55b74]
mov ebx, ebp
mov ebp, dword [esp + 0xac]
cmp dword [esp + 0x94], 1
je 0x6a873c6c
mov edx, dword [esp + 0x9c]
mov dword [ebx + 0x7c14], edx
mov ecx, dword [esp + 0xa0]
mov dword [ebx + 0x7c18], ecx
mov edi, dword [esp + 0xa4]
mov dword [ebx + 0x7c1c], edi
mov edx, dword [esp + 0xa8]
mov dword [ebx + 0x7c20], edx
cmp esi, 0x7fffffff
je 0x6a872461
lea eax, [esp + 0xe8]
mov dword [esp + 0x24], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x1c], ecx
mov esi, dword [esp + 0x74]
mov dword [esp + 0x18], esi
mov eax, dword [ebx + 0x1b68]
mov dword [esp + 0x14], eax
lea edi, [esp + 0xb8]
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ecx
mov esi, dword [esp + 0x78]
mov dword [esp + 4], esi
mov dword [esp], ebx
mov edi, dword [esp + 0x390]
call dword [edi + 0x29ad0]
mov eax, dword [ebx + 0x14b8]
mov edx, dword [esp + 0x54]
mov dword [edx + 0x20], eax
mov edi, dword [esp + 0x114]
mov dword [esp + 0xc], 0x60
mov ecx, dword [esp + 0x60]
mov dword [esp + 8], ecx
lea esi, [esp + 0xb8]
mov dword [esp + 4], esi
mov eax, edx
add eax, 0x20
mov dword [esp], eax
call fcn.6a8156a4
lea esi, [edi + eax]
mov dword [esp + 0x114], esi
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
lea eax, [edi + esi*4]
movsx edx, word [eax + 2]
mov esi, dword [esp + 0x5c]
mov ecx, dword [esi + 0xc04]
lea esi, [ecx - 0x80]
cmp edx, esi
jge 0x6a8731bc
add ecx, 0xffffff80
mov word [eax + 2], cx
mov edi, dword [esp + 0x5c]
mov edx, dword [eax]
movsx ecx, dx
mov esi, dword [edi + 0xc0c]
lea edi, [esi - 0x80]
cmp ecx, edi
jl 0x6a873274
mov edi, dword [esp + 0x5c]
mov esi, dword [edi + 0xc10]
lea edi, [esi + 0x80]
cmp ecx, edi
jle 0x6a872509
lea edx, [esi + 0x80]
mov word [eax], dx
mov ecx, dword [esp + 0x50]
sub ecx, 5
cmp ecx, 1
ja 0x6a872dc6
mov esi, dword [eax]
test esi, esi
je 0x6a871f70
jmp 0x6a872dc6
mov eax, dword [esp + 0x294]
mov dword [esp + 4], eax
lea eax, [esp + 0xe8]
mov dword [esp], eax
lea ecx, [esp + 0x118]
lea edx, [esp + 0xc0]
mov eax, ebx
call fcn.6a86c6cc
mov ecx, dword [esp + 0x114]
add ecx, dword [esp + 0xc0]
mov dword [esp + 0x114], ecx
mov edx, dword [esp + 0x120]
add edx, dword [esp + 0xe8]
mov dword [esp + 0x120], edx
cmp eax, dword [esp + 0x294]
jge 0x6a87323c
add ecx, dword [esp + 0xc4]
mov dword [esp + 0x114], ecx
jmp 0x6a872638
mov eax, dword [ebx + 0x17d8]
mov byte [eax + 2], 0
mov edx, dword [ebx + 0x17b4]
mov eax, dword [ebx + 0x17a4]
mov dword [esp + 0x14], 0x10
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
lea ecx, [edx - 1]
mov dword [esp + 8], ecx
sub edx, eax
mov dword [esp + 4], edx
mov dword [esp], esi
call dword [0x6b33a510]
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x118]
mov eax, ebx
call fcn.6a86c1f8
mov edx, dword [esp + 0x120]
add edx, dword [esp + 0xe8]
mov eax, dword [esp + 0x114]
add eax, dword [esp + 0x118]
mov ecx, dword [ebx + 0x17ec]
mov esi, dword [ebx + 0x17d8]
movzx esi, byte [esi]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*2 + 0x1ae4]
add eax, dword [ebx + ecx*4 + 0xc]
add eax, dword [esp + 0xc4]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0xc8]
add edx, eax
mov dword [esp + 0x120], edx
mov dword [esp + 0x124], eax
jmp case.default.0x6a8723a0
cmp esi, 1
je 0x6a8738c9
mov edi, dword [esp + 0x390]
mov edx, dword [edi + 0x1cb40]
cmp esi, 2
jne 0x6a872685
mov edx, dword [edi + 0x1cb3c]
mov esi, dword [esp + 0x294]
lea edi, [esp + 0x1c8]
mov dword [esp + 0x74], edi
mov ecx, 0xcc
xor eax, eax
rep stosb byte es:[edi], al
mov dword [esp + 0x1d0], esi
lea eax, [esp + 0xb8]
mov dword [esp + 0x1c8], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x274], edx
lea eax, [esp + 0xf4]
mov dword [esp + 0x278], eax
mov dword [esp + 0x1e4], 0xc
mov dword [esp + 0x1e8], 0xc
mov dword [esp + 0x1ec], 0xc
mov dword [esp + 0x1f0], 0xc
mov dword [esp + 0x1f4], 0xc
mov dword [esp + 0x1f8], 0xc
mov dword [esp + 0x1fc], 0xc
mov dword [esp + 0x200], 0xc
mov dword [esp + 0x204], 0xc
mov dword [esp + 0x208], 0xc
mov dword [esp + 0x20c], 0xc
mov dword [esp + 0x210], 0xc
mov dword [esp + 0x214], 0xc
mov dword [esp + 0x218], 0xc
mov dword [esp + 0x21c], 0xc
mov dword [esp + 0x220], 0xc
mov eax, dword [esp + 0x390]
lea ecx, [esp + 0x1c8]
mov edx, ebx
mov edi, dword [eax + 0x288dc]
test edi, edi
jne 0x6a8732cc
call fcn.6a86f6c8
lea ecx, [esp + 0x1c8]
mov edx, ebx
mov eax, dword [esp + 0x390]
call fcn.6a86de6c
lea ecx, [esp + 0x1c8]
mov edx, ebx
mov eax, dword [esp + 0x390]
call fcn.6a86d37c
mov dword [esp], 3
lea ecx, [esp + 0x1c8]
mov edx, ebx
mov eax, dword [esp + 0x390]
call fcn.6a86e9fc
mov eax, dword [esp + 0x224]
mov dword [ebx + 0x14b8], eax
mov eax, dword [ebx + 0x14b4]
mov dl, byte [esp + 0x264]
mov byte [eax], dl
mov eax, dword [esp + 0x228]
mov dword [ebx + 0x14d4], eax
mov eax, dword [ebx + 0x14d0]
mov cl, byte [esp + 0x265]
mov byte [eax], cl
mov eax, dword [esp + 0x22c]
mov dword [ebx + 0x14f0], eax
mov eax, dword [ebx + 0x14ec]
mov dl, byte [esp + 0x266]
mov byte [eax], dl
mov eax, dword [esp + 0x230]
mov dword [ebx + 0x150c], eax
mov eax, dword [ebx + 0x1508]
mov cl, byte [esp + 0x267]
mov byte [eax], cl
mov eax, dword [esp + 0x234]
mov dword [ebx + 0x1528], eax
mov eax, dword [ebx + 0x1524]
mov dl, byte [esp + 0x268]
mov byte [eax], dl
mov eax, dword [esp + 0x238]
mov dword [ebx + 0x1544], eax
mov eax, dword [ebx + 0x1540]
mov cl, byte [esp + 0x269]
mov byte [eax], cl
mov eax, dword [esp + 0x23c]
mov dword [ebx + 0x1560], eax
mov eax, dword [ebx + 0x155c]
mov dl, byte [esp + 0x26a]
mov byte [eax], dl
mov eax, dword [esp + 0x240]
mov dword [ebx + 0x157c], eax
mov eax, dword [ebx + 0x1578]
mov cl, byte [esp + 0x26b]
mov byte [eax], cl
mov eax, dword [esp + 0x244]
mov dword [ebx + 0x1598], eax
mov eax, dword [ebx + 0x1594]
mov dl, byte [esp + 0x26c]
mov byte [eax], dl
mov eax, dword [esp + 0x248]
mov dword [ebx + 0x15b4], eax
mov eax, dword [ebx + 0x15b0]
mov cl, byte [esp + 0x26d]
mov byte [eax], cl
mov eax, dword [esp + 0x24c]
mov dword [ebx + 0x15d0], eax
mov eax, dword [ebx + 0x15cc]
mov dl, byte [esp + 0x26e]
mov byte [eax], dl
mov eax, dword [esp + 0x250]
mov dword [ebx + 0x15ec], eax
mov eax, dword [ebx + 0x15e8]
mov cl, byte [esp + 0x26f]
mov byte [eax], cl
mov eax, dword [esp + 0x254]
mov dword [ebx + 0x1608], eax
mov eax, dword [ebx + 0x1604]
mov dl, byte [esp + 0x270]
mov byte [eax], dl
mov eax, dword [esp + 0x258]
mov dword [ebx + 0x1624], eax
mov eax, dword [ebx + 0x1620]
mov cl, byte [esp + 0x271]
mov byte [eax], cl
mov eax, dword [esp + 0x25c]
mov dword [ebx + 0x1640], eax
mov eax, dword [ebx + 0x163c]
mov dl, byte [esp + 0x272]
mov byte [eax], dl
mov eax, dword [esp + 0x260]
mov dword [ebx + 0x165c], eax
mov eax, dword [ebx + 0x1658]
mov cl, byte [esp + 0x273]
mov byte [eax], cl
mov edi, dword [esp + 0x1d8]
mov dword [esp + 0xc0], edi
mov esi, dword [esp + 0x1dc]
mov dword [esp + 0x60], esi
mov eax, dword [esp + 0x1e0]
mov dword [esp + 0x118], eax
mov edx, dword [ebx + 0x17d8]
mov eax, dword [esp + 0x1d4]
mov byte [edx + 8], al
mov edx, dword [ebx + 0x1b40]
mov ecx, dword [eax*4 + 0x6ac54330]
mov dword [edx], ecx
test ecx, ecx
jle 0x6a872a35
mov esi, eax
shl esi, 4
xor eax, eax
mov dword [esp + 0x4c], edi
nop
movzx ecx, byte [esi + eax + 0x6ac56600]
mov edi, dword [esp + ecx*4 + 0x1e4]
mov dword [edx + eax*8 + 4], edi
mov ecx, dword [esp + ecx*4 + 0x224]
mov dword [edx + eax*8 + 8], ecx
inc eax
mov edx, dword [ebx + 0x1b40]
cmp eax, dword [edx]
jl 0x6a872a08
mov edi, dword [esp + 0x4c]
mov eax, dword [esp + 0x260]
mov dword [edx + 0x80], eax
add dword [esp + 0x114], edi
mov eax, dword [esp + 0x60]
add dword [esp + 0x120], eax
mov edx, dword [esp + 0x1d0]
cmp dword [esp + 0x294], edx
jg 0x6a873bb4
mov dword [esp + 0xd8], 1
mov ecx, 1
mov eax, 0x7fffffff
lea esi, [esp + 0x114]
jmp 0x6a8722c3
mov edi, dword [esp + 0x390]
mov edi, dword [edi + 0x289c8]
mov dword [esp + 0x60], edi
mov edx, dword [ebx + 0x1b6c]
mov dword [esp + 0x8c], edx
mov di, word [esp + 0xba]
movsx esi, di
add esi, 7
sar esi, 3
sub esi, 0xff
mov eax, dword [esp + 0xb8]
movsx edx, ax
add edx, 7
sar edx, 3
sub edx, 0xff
mov dword [esp + 0x6c], edx
sar di, 3
movsx edi, di
add edi, 0xff
sar ax, 3
cwde
add eax, 0xff
mov dword [esp + 0x74], eax
mov ecx, dword [ebx + 0x7c14]
mov dword [esp + 0x9c], ecx
mov edx, dword [ebx + 0x7c18]
mov dword [esp + 0xa0], edx
mov ecx, dword [ebx + 0x7c1c]
mov dword [esp + 0xa4], ecx
mov edx, dword [ebx + 0x7c20]
mov dword [esp + 0xa8], edx
mov eax, dword [esp + 0x98]
test eax, eax
je 0x6a873888
mov eax, dword [ebx + 0x17d8]
lea edx, [esp + 0x128]
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xd4]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x390]
add edx, 0x1ac84
mov dword [esp + 0x14], edx
movzx edx, byte [eax + 2]
mov dword [esp + 0x10], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x390]
mov dword [esp], eax
call fcn.6a871190
mov ax, word [esp + 0xd2]
sar ax, 3
mov word [esp + 0xe2], ax
mov eax, dword [esp + 0xd0]
sar ax, 3
mov word [esp + 0xe0], ax
cmp esi, dword [ebx + 0x7c14]
jle 0x6a872bc9
mov dword [ebx + 0x7c14], esi
cmp edi, dword [ebx + 0x7c18]
jge 0x6a872bd7
mov dword [ebx + 0x7c18], edi
mov edx, dword [esp + 0x6c]
cmp edx, dword [ebx + 0x7c1c]
jle 0x6a872be9
mov dword [ebx + 0x7c1c], edx
mov ecx, dword [esp + 0x74]
cmp ecx, dword [ebx + 0x7c20]
jge 0x6a872bfb
mov dword [ebx + 0x7c20], ecx
mov edx, dword [esp + 0xd4]
cmp edx, dword [esp + 0x60]
jl 0x6a873230
lea esi, [ebx + 0x5b8c]
mov dword [esp + 0x60], esi
mov edi, dword [esp + 0x390]
add edi, 0x29b80
mov dword [esp + 0x74], edi
lea ecx, [ebx + 0x14b8]
mov dword [esp + 0x88], ecx
lea esi, [esp + 0xb8]
mov dword [esp + 0x28], esi
mov edi, dword [esp + 0x60]
mov dword [esp + 0x24], edi
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x20], ecx
lea esi, [esp + 0xbc]
mov dword [esp + 0x1c], esi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x14], edx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x10], ecx
lea esi, [esp + 0xe0]
mov dword [esp + 0xc], esi
mov edi, dword [esp + 0x7c]
mov dword [esp + 8], edi
mov eax, dword [esp + 0x78]
mov dword [esp + 4], eax
mov dword [esp], ebx
mov dword [esp + 0x38], edx
mov ecx, dword [esp + 0x390]
call dword [ecx + 0x29adc]
mov esi, eax
mov eax, dword [ebx + 0x14b8]
mov edi, dword [esp + 0x54]
mov dword [edi + 0x20], eax
mov edx, dword [esp + 0x38]
mov eax, edx
not eax
mov ecx, dword [esp + 0x390]
add eax, dword [ecx + 0x289c4]
mov edi, dword [esp + 0xbc]
mov dword [esp + 0xbc], 0
xor ecx, ecx
cmp eax, edi
setge cl
mov dword [esp + 0x94], ecx
jle 0x6a8723b1
lea ecx, [edx + edi + 1]
not edi
add edi, eax
xor edx, edx
mov dword [esp + 0xac], ebp
mov ebp, ebx
mov ebx, ecx
jmp 0x6a872d17
dec edx
mov dword [esp + 0xbc], edx
inc ebx
dec edi
cmp edi, 0xffffffff
je 0x6a8723a8
test edx, edx
jne 0x6a872d04
lea eax, [esp + 0xb8]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x60]
mov dword [esp + 0x24], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x20], ecx
lea eax, [esp + 0xbc]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x8c]
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], ebx
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x10], ecx
lea eax, [esp + 0xe0]
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x78]
mov dword [esp + 4], ecx
mov dword [esp], ebp
mov edx, dword [esp + 0x390]
call dword [edx + 0x29adc]
mov edx, dword [esp + 0xbc]
cmp edi, edx
jge 0x6a872d9c
mov dword [esp + 0x94], 0
cmp eax, esi
jge 0x6a87311c
mov esi, dword [ebp + 0x14b8]
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x20], esi
mov esi, eax
jmp 0x6a872d0c
mov eax, dword [esp + 0x54]
add eax, 0x1c
mov ecx, dword [esp + 0x54]
mov edx, dword [ecx + 0x1c]
sar dx, 3
movsx edx, dx
cmp edx, dword [ebx + 0x7c1c]
jl 0x6a871f70
cmp edx, dword [ebx + 0x7c20]
jg 0x6a871f70
mov dx, word [eax + 2]
sar dx, 3
movsx edx, dx
cmp edx, dword [ebx + 0x7c14]
jl 0x6a871f70
cmp edx, dword [ebx + 0x7c18]
jg 0x6a871f70
mov edx, dword [ebx + 0x17d8]
mov cl, byte [esp + 0x4c]
mov byte [edx], cl
mov edx, dword [ebx + 0x17d8]
mov eax, dword [eax]
mov dword [edx + 4], eax
lea esi, [esp + 0x114]
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x390]
add eax, 0x29a0c
mov dword [esp], eax
lea ecx, [esp + 0xd8]
mov edx, esi
lea eax, [esp + 0xf4]
call fcn.6a870e24
mov ecx, dword [esp + 0xd8]
jmp 0x6a8722c3
mov ecx, dword [esp + 0x114]
mov edi, dword [esp + 0x3a0]
mov dword [edi], ecx
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x3a4]
mov dword [edx], edi
cmp dword [esp + 0x50], 4
ja 0x6a872ea0
mov dl, byte [esp + 0x90]
mov byte [esi + 1], dl
mov edx, dword [ebx + 0x17d8]
mov dword [edx + 4], 0
mov esi, dword [ebx + 0x17d8]
movzx edx, byte [esi]
mov dword [esp + 0x50], edx
sub ecx, dword [esp + 0x11c]
movzx edx, byte [esi + 2]
sub ecx, dword [esp + 0xdc]
sub ecx, dword [ebx + edx*4 + 0x1b4c]
imul ecx, dword [ebx + 0x1b78]
sub ecx, 0xffffff80
sar ecx, 8
sub edi, dword [esp + 0x124]
imul edi, dword [ebx + 0x1b74]
add ecx, edi
mov dword [esp + 0x294], ecx
mov dword [esp + 0x298], eax
mov ecx, 3
mov edi, dword [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x2ec]
mov esi, dword [ebx + 0x1b40]
mov cl, 0x21
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x50], 4
je 0x6a873034
cmp dword [esp + 0x50], 9
je 0x6a873034
mov edx, dword [ebp]
cmp edx, 0x21
jle 0x6a873110
sub edx, 2
mov dword [ebp], edx
mov eax, dword [ebp + 0x50]
sar eax, 7
imul eax, edx
mov dword [ebp + 0xa0], eax
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x64], ecx
mov edi, dword [ebx + 0x7c24]
test edi, edi
je 0x6a871f70
jmp 0x6a8720e4
cmp dword [esp + 0x50], 7
je 0x6a8735c0
xor edx, edx
cmp dword [esp + 0x50], 9
setne dl
shl edx, 2
mov ecx, dword [esp + 0x390]
mov dword [ecx + 0x20ccc], edx
mov edi, ecx
jmp 0x6a872281
mov ecx, 3
mov edi, edx
mov esi, dword [esp + 0x44]
rep movsd dword es:[edi], dword [esi]
mov al, byte [esp + 0x2a0]
cmp al, 4
je 0x6a8735e4
cmp al, 9
je 0x6a8736f3
mov eax, dword [ebx + 0x17d8]
movzx edx, byte [eax + 2]
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x390]
cmp dword [esi + edx*4 + 0x1ac84], edi
je 0x6a872fdf
xor edx, edx
test edi, edi
sete dl
mov edx, dword [esp + edx*4 + 0xec]
mov dword [esp + 0xb8], edx
mov dl, byte [eax]
cmp dl, 9
je 0x6a873824
cmp dl, 8
jne 0x6a872245
movsx edx, word [eax + 4]
movsx ecx, word [esp + 0xb8]
sub edx, ecx
sar edx, 1
mov ecx, dword [esp + 0x390]
inc dword [ecx + edx*4 + 0x21d74]
movsx eax, word [eax + 6]
movsx edx, word [esp + 0xba]
sub eax, edx
sar eax, 1
inc dword [ecx + eax*4 + 0x23d70]
add esp, 0x37c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x14b8]
mov dword [esp + 0x2ac], eax
mov eax, dword [ebx + 0x14d4]
mov dword [esp + 0x2b0], eax
mov eax, dword [ebx + 0x14f0]
mov dword [esp + 0x2b4], eax
mov eax, dword [ebx + 0x150c]
mov dword [esp + 0x2b8], eax
mov eax, dword [ebx + 0x1528]
mov dword [esp + 0x2bc], eax
mov eax, dword [ebx + 0x1544]
mov dword [esp + 0x2c0], eax
mov eax, dword [ebx + 0x1560]
mov dword [esp + 0x2c4], eax
mov eax, dword [ebx + 0x157c]
mov dword [esp + 0x2c8], eax
mov eax, dword [ebx + 0x1598]
mov dword [esp + 0x2cc], eax
mov eax, dword [ebx + 0x15b4]
mov dword [esp + 0x2d0], eax
mov eax, dword [ebx + 0x15d0]
mov dword [esp + 0x2d4], eax
mov eax, dword [ebx + 0x15ec]
mov dword [esp + 0x2d8], eax
mov eax, dword [ebx + 0x1608]
mov dword [esp + 0x2dc], eax
mov eax, dword [ebx + 0x1624]
mov dword [esp + 0x2e0], eax
mov eax, dword [ebx + 0x1640]
mov dword [esp + 0x2e4], eax
mov eax, dword [ebx + 0x165c]
mov dword [esp + 0x2e8], eax
mov edx, dword [ebp]
cmp edx, 0x21
jg 0x6a872f2b
mov edx, 0x20
jmp 0x6a872f2e
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + 0x20]
mov dword [ebp + 0x14b8], eax
jmp 0x6a872d0c
lea eax, [esp + 0xc8]
mov dword [esp], eax
lea ecx, [esp + 0xcc]
lea edx, [esp + 0xc4]
mov eax, ebx
call fcn.6a86ce80
mov eax, dword [ebx + 0x17d8]
movzx eax, byte [eax + 1]
mov dword [esp + 0x90], eax
movsx edx, byte [ebx + 0x1410]
add edx, dword [esp + 0x70]
movsx eax, byte [ebx + 0x1411]
add edx, eax
movsx eax, byte [ebx + 0x1412]
add edx, eax
movsx eax, byte [ebx + 0x1413]
add edx, eax
movsx eax, byte [ebx + 0x1414]
add edx, eax
movsx eax, byte [ebx + 0x1415]
add edx, eax
movsx eax, byte [ebx + 0x1416]
add edx, eax
movsx eax, byte [ebx + 0x1417]
add eax, edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x68], 1
jmp 0x6a8722a5
mov edi, dword [esp + 0x5c]
mov ecx, dword [edi + 0xc08]
lea esi, [ecx + 0x80]
cmp edx, esi
jle 0x6a8724d6
sub ecx, 0xffffff80
mov word [eax + 2], cx
mov edi, dword [esp + 0x5c]
jmp 0x6a8724d6
mov dword [esp + 0x50], 3
mov dword [esp + 0x48], 8
mov edx, 2
mov esi, 4
mov ecx, 1
jmp 0x6a871d06
mov dword [ebp], 0x200
mov edx, 0x200
jmp 0x6a8720c2
mov dword [ebp], 0x200
mov edx, 0x200
jmp 0x6a872388
mov edx, dword [esp + 0x60]
jmp 0x6a872c0c
mov dword [esp + 0xd8], 1
mov ecx, 1
jmp 0x6a8722b7
sub edx, edi
jmp 0x6a872122
mov dword [esp + 0x58], 0
lea ecx, [esp + 0x178]
mov dword [esp + 0x54], ecx
jmp 0x6a871ded
lea edx, [esi - 0x80]
mov word [eax], dx
mov ecx, dword [esp + 0x50]
sub ecx, 5
cmp ecx, 1
ja 0x6a872dc6
jmp 0x6a872519
mov edx, dword [ebx + 0x17d8]
cmp byte [edx + 2], 3
jne 0x6a871f70
jmp 0x6a872018
mov dword [ebx + 0x17e0], 8
mov edx, dword [esi + 4]
mov dword [ebx + 0x17e4], edx
mov dl, byte [esi + 0xa]
mov byte [ebx + 0x17e8], dl
jmp 0x6a872358
call fcn.6a86d37c
cmp esi, dword [esp + 0x1d0]
jle 0x6a8727f1
mov dx, word [esp + 0xba]
movsx ecx, dx
add ecx, 7
sar ecx, 3
sub ecx, 0xff
mov esi, dword [esp + 0xb8]
movsx eax, si
add eax, 7
sar eax, 3
sub eax, 0xff
mov dword [esp + 0x88], eax
sar dx, 3
movsx edx, dx
add edx, 0xff
sar si, 3
movsx esi, si
add esi, 0xff
mov dword [esp + 0x6c], esi
mov esi, dword [ebx + 0x7c14]
mov edi, dword [ebx + 0x7c18]
mov eax, dword [ebx + 0x7c1c]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0x7c20]
mov dword [esp + 0x60], eax
cmp ecx, esi
jle 0x6a873359
mov dword [ebx + 0x7c14], ecx
cmp edx, edi
jge 0x6a873363
mov dword [ebx + 0x7c18], edx
mov edx, dword [esp + 0x4c]
cmp dword [esp + 0x88], edx
jle 0x6a87337d
mov ecx, dword [esp + 0x88]
mov dword [ebx + 0x7c1c], ecx
mov eax, dword [esp + 0x60]
cmp dword [esp + 0x6c], eax
jge 0x6a873391
mov edx, dword [esp + 0x6c]
mov dword [ebx + 0x7c20], edx
mov edx, dword [esp + 0x224]
mov dword [esp + 0x27c], edx
mov eax, dword [esp + 0x22c]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x244]
mov dword [esp + 0x284], eax
mov ecx, dword [esp + 0x24c]
mov dword [esp + 0x288], ecx
movsx edx, dx
cwde
sub edx, eax
mov eax, edx
js 0x6a873db3
sar eax, 3
movsx ecx, word [esp + 0x27e]
movsx edx, word [esp + 0x286]
sub ecx, edx
js 0x6a873dac
sar ecx, 3
cmp eax, ecx
jge 0x6a8733fb
mov eax, ecx
cmp eax, 0x80
jle 0x6a873d23
mov eax, 0x40
xor edx, edx
lea esi, [esi]
inc edx
sar eax, 1
jne 0x6a873410
mov eax, 7
sub eax, edx
mov dword [esp + 0x28c], eax
movsx edx, word [esp + 0x280]
movsx eax, word [esp + 0x288]
sub edx, eax
mov eax, edx
js 0x6a873da5
sar eax, 3
movsx ecx, word [esp + 0x282]
movsx edx, word [esp + 0x28a]
sub ecx, edx
js 0x6a873d9e
sar ecx, 3
cmp eax, ecx
jge 0x6a873461
mov eax, ecx
cmp eax, 0x80
jle 0x6a873cf7
mov eax, 0x40
xor edx, edx
nop
inc edx
sar eax, 1
jne 0x6a873474
mov eax, 7
sub eax, edx
mov dword [esp + 0x290], eax
lea ecx, [esp + 0x1c8]
mov edx, ebx
mov eax, dword [esp + 0x390]
call fcn.6a86de6c
movsx edx, word [esp + 0x27c]
movsx eax, word [esp + 0x280]
sub edx, eax
mov eax, edx
js 0x6a873d97
sar eax, 3
movsx ecx, word [esp + 0x27e]
movsx edx, word [esp + 0x282]
sub ecx, edx
js 0x6a873d90
sar ecx, 3
cmp eax, ecx
jge 0x6a8734da
mov eax, ecx
cmp eax, 0x80
jle 0x6a873ce1
mov eax, 0x40
xor edx, edx
inc edx
sar eax, 1
jne 0x6a8734ec
mov eax, 7
sub eax, edx
mov dword [esp + 0x28c], eax
movsx edx, word [esp + 0x284]
movsx eax, word [esp + 0x288]
sub edx, eax
mov eax, edx
js 0x6a873d89
sar eax, 3
movsx ecx, word [esp + 0x286]
movsx edx, word [esp + 0x28a]
sub ecx, edx
js 0x6a873d82
sar ecx, 3
cmp eax, ecx
jge 0x6a87353d
mov eax, ecx
cmp eax, 0x80
jle 0x6a873d0d
mov eax, 0x40
xor edx, edx
nop
inc edx
sar eax, 1
jne 0x6a873550
mov eax, 7
sub eax, edx
mov dword [esp + 0x290], eax
lea ecx, [esp + 0x1c8]
mov edx, ebx
mov eax, dword [esp + 0x390]
call fcn.6a86f6c8
mov ecx, dword [esp + 0x390]
mov eax, dword [ecx + 0x289d4]
test eax, eax
jne 0x6a873d39
cmp dword [esp + 0x1d4], 2
je 0x6a873d39
mov dword [ebx + 0x7c14], esi
mov dword [ebx + 0x7c18], edi
mov esi, dword [esp + 0x4c]
mov dword [ebx + 0x7c1c], esi
mov edi, dword [esp + 0x60]
mov dword [ebx + 0x7c20], edi
jmp 0x6a8727f1
cmp eax, 1
je 0x6a873c56
mov ecx, dword [esp + 0x390]
mov dword [ecx + 0x20ccc], 0xc
mov edi, ecx
jmp 0x6a872281
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2ac]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2b0]
mov dword [eax + 0x10], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2b4]
mov dword [eax + 0x14], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2b8]
mov dword [eax + 0x18], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2bc]
mov dword [eax + 0x1c], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2c0]
mov dword [eax + 0x20], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2c4]
mov dword [eax + 0x24], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2c8]
mov dword [eax + 0x28], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2cc]
mov dword [eax + 0x2c], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2d0]
mov dword [eax + 0x30], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2d4]
mov dword [eax + 0x34], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2d8]
mov dword [eax + 0x38], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2dc]
mov dword [eax + 0x3c], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2e0]
mov dword [eax + 0x40], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2e4]
mov dword [eax + 0x44], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2e8]
mov dword [eax + 0x48], edx
mov al, byte [esp + 0x2a0]
cmp al, 9
jne 0x6a872fac
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2ac]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2b0]
mov dword [eax + 0x10], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2b4]
mov dword [eax + 0x14], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2b8]
mov dword [eax + 0x18], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2bc]
mov dword [eax + 0x1c], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2c0]
mov dword [eax + 0x20], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2c4]
mov dword [eax + 0x24], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2c8]
mov dword [eax + 0x28], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2cc]
mov dword [eax + 0x2c], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2d0]
mov dword [eax + 0x30], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2d4]
mov dword [eax + 0x34], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2d8]
mov dword [eax + 0x38], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2dc]
mov dword [eax + 0x3c], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2e0]
mov dword [eax + 0x40], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2e4]
mov dword [eax + 0x44], edx
mov eax, dword [ebx + 0x17d8]
mov edx, dword [esp + 0x2e8]
mov dword [eax + 0x48], edx
lea esi, [esp + 0x2ec]
mov ecx, 0x21
mov edi, dword [ebx + 0x1b40]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x17d8]
mov edx, dword [ebx + 0x1b40]
mov edx, dword [edx + 0x80]
mov dword [eax + 4], edx
jmp 0x6a872fac
mov ebx, dword [ebx + 0x1b40]
mov ecx, dword [ebx]
test ecx, ecx
jle 0x6a872245
movsx edi, word [esp + 0xb8]
movsx esi, word [esp + 0xba]
mov eax, ebx
xor edx, edx
mov ebp, dword [esp + 0x390]
jmp 0x6a873860
inc edx
add eax, 8
cmp edx, ecx
jge 0x6a872245
cmp dword [eax + 4], 0xd
jne 0x6a873854
movsx ecx, word [eax + 8]
sub ecx, edi
sar ecx, 1
inc dword [ebp + ecx*4 + 0x21d74]
movsx ecx, word [eax + 0xa]
sub ecx, esi
sar ecx, 1
inc dword [ebp + ecx*4 + 0x23d70]
mov ecx, dword [ebx]
jmp 0x6a873854
lea ecx, [esp + 0x128]
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x398]
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov edx, dword [esp + 0x5c]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x390]
mov dword [esp], ecx
call fcn.6a871708
mov dword [esp + 0x98], 1
jmp 0x6a872b39
mov esi, dword [esp + 0x390]
mov edx, dword [esi + 0x1cb38]
jmp 0x6a872685
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
lea esi, [esp + 0x114]
mov ecx, 0x14
xor eax, eax
mov edi, esi
rep stosb byte es:[edi], al
mov eax, dword [ebx + 0x17d8]
mov byte [eax + 2], 1
mov edi, dword [ebx + 0x1b50]
mov dword [esp + 0x48], edi
mov dword [esp + 0x114], edi
lea eax, [esp + 0xf4]
mov dword [esp + 4], eax
lea eax, [esp + 0x1c8]
mov dword [esp], eax
call fcn.6a879f60
mov ecx, dword [0x6ac54874]
xor eax, eax
xor edi, edi
mov ebp, ebx
mov dword [esp + 0x4c], esi
dec ecx
mov ebx, dword [0x6ac54870]
sar ebx, cl
mov dl, al
sar dl, 1
movsx edx, dl
movzx edx, byte [esp + edx + 0x1c8]
and ebx, 1
je 0x6a87396e
mov esi, 0xff
sub esi, edx
mov edx, esi
add edi, dword [edx*4 + 0x6ac561c0]
movsx eax, byte [ebx + eax + 0x6ac542f4]
test ecx, ecx
jne 0x6a873948
mov ebx, ebp
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
add eax, edi
mov dword [esp + 0x114], eax
mov eax, dword [ebp + 0x17d8]
mov byte [eax], 7
mov eax, dword [ebp + 0x17d8]
mov byte [eax + 1], 0
mov eax, dword [ebp + 0x17d8]
mov dword [eax + 4], 0
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x390]
add eax, 0x29a0c
mov dword [esp], eax
lea ecx, [esp + 0xe4]
mov edx, esi
lea eax, [esp + 0xf4]
call fcn.6a870e24
mov dword [esp + 0x14], ebp
mov edx, dword [esp + 0x390]
add edx, 0x28908
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x390]
add edx, 0x19f04
mov dword [esp + 0xc], edx
mov edi, dword [esp + 0x80]
mov dword [esp + 8], edi
mov edx, dword [esp + 0x70]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xe4]
mov dword [esp], edx
lea ecx, [esp + 0xe8]
mov edx, esi
call fcn.6a86bf5c
cmp eax, dword [esp + 0x298]
jl 0x6a873a44
mov edx, dword [ebp + 0x7c24]
test edx, edx
je 0x6a8721d6
mov ecx, dword [esp + 0x114]
mov esi, dword [esp + 0x3a0]
mov dword [esi], ecx
mov edi, dword [esp + 0x120]
mov edx, dword [esp + 0x3a4]
mov dword [edx], edi
mov edx, dword [ebx + 0x17d8]
movzx ebp, byte [edx]
sub ecx, dword [esp + 0x11c]
movzx esi, byte [edx + 2]
sub ecx, dword [esp + 0xe8]
sub ecx, dword [ebx + esi*4 + 0x1b4c]
imul ecx, dword [ebx + 0x1b78]
sub ecx, 0xffffff80
sar ecx, 8
sub edi, dword [esp + 0x124]
imul edi, dword [ebx + 0x1b74]
add ecx, edi
mov dword [esp + 0x294], ecx
mov dword [esp + 0x298], eax
mov ecx, 3
mov edi, dword [esp + 0x44]
mov esi, edx
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x2ec]
mov esi, dword [ebx + 0x1b40]
mov cl, 0x21
mov edi, eax
rep movsd dword es:[edi], dword [esi]
cmp ebp, 4
je 0x6a873adf
cmp ebp, 9
jne 0x6a8721dc
mov eax, dword [ebx + 0x14b8]
mov dword [esp + 0x2ac], eax
mov eax, dword [ebx + 0x14d4]
mov dword [esp + 0x2b0], eax
mov eax, dword [ebx + 0x14f0]
mov dword [esp + 0x2b4], eax
mov eax, dword [ebx + 0x150c]
mov dword [esp + 0x2b8], eax
mov eax, dword [ebx + 0x1528]
mov dword [esp + 0x2bc], eax
mov eax, dword [ebx + 0x1544]
mov dword [esp + 0x2c0], eax
mov eax, dword [ebx + 0x1560]
mov dword [esp + 0x2c4], eax
mov eax, dword [ebx + 0x157c]
mov dword [esp + 0x2c8], eax
mov eax, dword [ebx + 0x1598]
mov dword [esp + 0x2cc], eax
mov eax, dword [ebx + 0x15b4]
mov dword [esp + 0x2d0], eax
mov eax, dword [ebx + 0x15d0]
mov dword [esp + 0x2d4], eax
mov eax, dword [ebx + 0x15ec]
mov dword [esp + 0x2d8], eax
mov eax, dword [ebx + 0x1608]
mov dword [esp + 0x2dc], eax
mov eax, dword [ebx + 0x1624]
mov dword [esp + 0x2e0], eax
mov eax, dword [ebx + 0x1640]
mov dword [esp + 0x2e4], eax
mov eax, dword [ebx + 0x165c]
mov dword [esp + 0x2e8], eax
jmp 0x6a8721dc
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
call fcn.6a82fe34
mov dword [esp + 0x18], 8
lea eax, [ebx + 0xd80]
mov dword [esp + 0x14], eax
lea eax, [ebx + 0xd40]
mov dword [esp + 0x10], eax
mov eax, dword [ebx + 0xc08]
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc14]
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xc10]
mov dword [esp + 4], eax
mov dword [esp], ebx
call dword [0x6b33a410]
mov dword [esp], ebx
call fcn.6a8756b4
mov dword [esp], ebx
call fcn.6a812a2c
mov eax, ebx
call fcn.6a86cd10
mov dword [esp + 0x11c], eax
mov dword [esp], ebx
call dword [0x6b33a41c]
test eax, eax
js 0x6a873d7a
sar eax, 2
mov dword [esp + 0x124], eax
mov edx, dword [esp + 0x11c]
add dword [esp + 0x114], edx
add dword [esp + 0x120], eax
jmp case.default.0x6a8723a0
mov edi, dword [esp + 0x390]
mov dword [edi + 0x20ccc], 6
jmp 0x6a872281
lea edi, [esp + 0xb8]
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0x60]
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], 8
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x10], edi
mov edx, dword [esp + 0x88]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ecx
mov edi, dword [esp + 0x78]
mov dword [esp + 4], edi
mov dword [esp], ebx
mov edx, dword [esp + 0x390]
call dword [edx + 0x29ad8]
cmp esi, eax
jle 0x6a873d68
mov edx, dword [ebx + 0x14b8]
mov ecx, dword [esp + 0x54]
mov dword [ecx + 0x20], edx
mov esi, eax
jmp 0x6a8723bf
test eax, eax
je 0x6a873ced
sar eax, 1
jne 0x6a8734ea
mov eax, 7
jmp 0x6a8734f8
test eax, eax
je 0x6a873d03
sar eax, 1
jne 0x6a873471
mov eax, 7
jmp 0x6a873480
test eax, eax
je 0x6a873d19
sar eax, 1
jne 0x6a87354d
mov eax, 7
jmp 0x6a87355c
test eax, eax
je 0x6a873d2f
sar eax, 1
jne 0x6a87340b
mov eax, 7
jmp 0x6a87341c
mov eax, dword [esp + 0x27c]
mov dword [esp + 0x1cc], eax
mov dword [esp], 3
lea ecx, [esp + 0x1c8]
mov edx, ebx
mov eax, dword [esp + 0x390]
call fcn.6a86e9fc
jmp 0x6a87359b
mov edi, dword [esp + 0x54]
mov eax, dword [edi + 0x20]
mov dword [ebx + 0x14b8], eax
jmp 0x6a8723bf
add eax, 3
jmp 0x6a873c32
neg ecx
jmp 0x6a873534
neg eax
jmp 0x6a873519
neg ecx
jmp 0x6a8734d1
neg eax
jmp 0x6a8734b6
neg ecx
jmp 0x6a873458
neg eax
jmp 0x6a87343d
neg ecx
jmp 0x6a8733f2
neg eax
jmp 0x6a8733d7