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

Disassembly:
mov eax, 0x3ef4
call fcn.10147f20
push ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x68], 0x1312d00
xor eax, eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x74], eax
mov ebp, edx
push edi
mov eax, dword [esi + 0xb0]
lea ebx, [esi + 4]
mov ecx, dword [esi + 0x34]
mov edi, dword [esi]
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 0x218]
push 0x80
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x90], ecx
mov eax, dword [eax + 0x220]
shl eax, 0x10
mov dword [esp + 0x94], eax
xor eax, eax
push eax
mov dword [esp + 0x54], eax
mov byte [esp + 0x4c], al
mov byte [esp + 0x3a], al
mov dword [esp + 0x64], eax
lea eax, [esp + 0x160]
push eax
call fcn.10120ba0
xor eax, eax
mov dword [esp + 0x90], 0
add esp, 0xc
mov dword [esp + 0x74], eax
xorps xmm0, xmm0
mov dword [esp + 0x120], eax
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf8], eax
push 0x2e08
push eax
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], eax
mov dword [esp + 0xd8], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
lea eax, [esp + 0x1e0]
push eax
movq qword [esp + 0x88], xmm0
movups xmmword [esp + 0x130], xmm0
mov dword [esp + 0x110], edi
movq qword [esp + 0x140], xmm0
mov dword [esp + 0x114], ebx
mov dword [esp + 0x118], 0x10
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0xa
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0xf0], edi
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], 0x14
mov dword [esp + 0x100], 0xa
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd8], 0x14
mov dword [esp + 0xe0], 0xa
movlpd qword [esp + 0xb8], xmm0
movlpd qword [esp + 0xc0], xmm0
movlpd qword [esp + 0xc8], xmm0
mov dword [esp + 0xb4], ebx
call fcn.10120ba0
mov eax, dword [esp + 0x3f14]
add esp, 0xc
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x98], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x2f34], edi
mov dword [esp + 0x2f38], ebx
movaps xmm0, xmmword [0x10183b70]
lea eax, [esp + 0x2018]
push 0xf1c
push 0
push eax
movups xmmword [esp + 0x2f48], xmm0
mov dword [esp + 0x2f58], 0
mov dword [esp + 0x2f5c], 0
call fcn.10120ba0
mov eax, dword [esp + 0x98]
add esp, 0xc
mov bl, byte [esi + 0xb8]
mov dword [esp + 0x2028], eax
lea eax, [esp + 0x2018]
mov dword [esp + 0x201c], eax
lea eax, [esp + 0x2f34]
push 0xf1c
mov dword [esp + 0x2024], eax
lea eax, [esp + 0x1100]
push 0
push eax
mov byte [esp + 0x2031], bl
mov dword [esp + 0x2024], esi
call fcn.10120ba0
mov eax, dword [esp + 0x98]
add esp, 0xc
mov dword [esp + 0x110c], eax
lea eax, [esp + 0x2018]
mov dword [esp + 0x1100], eax
lea eax, [esp + 0x2f34]
mov dword [esp + 0x1104], eax
lea eax, [esp + 0x1e0]
push 0xf1c
push 0
push eax
mov byte [esp + 0x1115], bl
mov dword [esp + 0x1108], esi
call fcn.10120ba0
mov ecx, dword [esp + 0x98]
lea eax, [esp + 0x2024]
mov dword [esp + 0x1f0], eax
add esp, 0xc
mov dword [esp + 0x1f0], ecx
lea eax, [esp + 0x2f34]
mov dword [esp + 0x1e8], eax
mov eax, dword [esi + 0x28]
mov dword [esp + 0x2f54], eax
mov eax, dword [esi + 0x30]
mov dword [esp + 0x2f58], eax
mov dword [esp + 0x2f5c], ecx
mov ecx, dword [esp + 0x3f0c]
mov byte [esp + 0x1ed], bl
mov dword [esp + 0x1e0], esi
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x2f60], eax
lea eax, [esp + 0xe4]
mov dword [esp + 0x2f6c], eax
lea eax, [esp + 0xc4]
mov dword [esp + 0x2f70], eax
lea eax, [esp + 0xa8]
mov dword [esp + 0x2f74], eax
mov eax, dword [esp + 0x3f18]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2f78], eax
lea eax, [esi + 0xf0]
mov dword [esp + 0x2f7c], eax
mov al, byte [esi + 0xb9]
mov esi, dword [esi + 0xe4]
mov byte [esp + 0x2f6a], al
mov eax, dword [esp + 0x40]
mov dword [esp + 0x2f64], ecx
mov dword [esp + 0x2f80], esi
mov ebx, dword [eax + 0xe8]
mov eax, esi
cdq
mov ecx, eax
mov dword [esp + 0x2f84], ebx
xor ecx, edx
mov eax, ebx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jle 0x1004deb4
test esi, esi
jmp 0x1004deb8
mov esi, ebx
test ebx, ebx
jns 0x1004debc
neg esi
mov ecx, dword [esp + 0x2c]
lea eax, [esi + esi]
mov edx, dword [esp + 0x40]
mov ebx, dword [esp + 0x3f1c]
mov dword [esp + 0x2f88], eax
mov dword [esp + 0x2f8c], 0x199a
cmp byte [edx + 9], 0
mov byte [esp + 0x2f6b], 1
mov byte [esp + 0x2f68], 0
setne byte [esp + 0x27]
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
mov eax, dword [ecx + 0x218]
mov eax, dword [eax + 0x21c]
shl eax, 0x10
mov dword [ebx], eax
cmp byte [edx + 9], 0
je 0x1004df2e
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x1004df33
mov esi, 0x30
mov eax, dword [edi + 4]
mov edx, 0x14
mov ecx, edi
mov dword [esp + 0x94], esi
call eax
mov ebx, eax
mov dword [esp + 0x70], ebx
test ebx, ebx
je 0x10053371
mov eax, dword [esp + 0x68]
mov dword [ebx + 8], 0
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], 0
mov dword [ebx], edi
mov dword [ebx + 4], eax
test esi, esi
js 0x10053361
je 0x1004dfe9
cmp esi, 0xfffffff
jg 0x10053361
mov eax, dword [edi + 4]
lea edx, [esi*8]
mov ecx, edi
call eax
mov esi, eax
mov ecx, 0x40
xor eax, eax
test esi, esi
cmovne ecx, eax
mov eax, esi
je 0x1004dfd6
mov edx, dword [esp + 0x94]
test edx, edx
jle 0x1004dfd6
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.10120ba0
lea eax, [ebx + 8]
add esp, 0xc
mov dword [eax], esi
mov dword [esp + 0x14], eax
mov eax, esi
lea esi, [ebx + 8]
jmp 0x1004dff4
mov dword [ebx + 8], eax
lea esi, [ebx + 8]
mov dword [esp + 0x14], esi
test ecx, ecx
je 0x1004dff4
jmp 0x10053368
lea esi, [ebx + 8]
xor eax, eax
mov dword [esp + 0x14], esi
mov dword [esi], eax
mov ecx, dword [esp + 0x94]
mov edi, 0x11
mov dword [ebx + 0x10], ecx
mov edx, edi
lea ecx, [esp + 0x104]
mov dword [ebx + 0xc], eax
call fcn.1004a5f0
mov ecx, dword [esp + 0x118]
test al, al
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0x120]
cmovne ecx, edi
mov dword [esp + 0xa4], ecx
mov ecx, eax
mov dword [esp + 0x74], eax
cmp dword [edx], 0
mov dword [esp + 0x18], ecx
jne 0x10052e8d
movups xmm0, xmmword [ebp]
mov edx, dword [esp + 0x108]
mov ebp, dword [esp + 0x3f14]
mov edi, dword [esp + 0x1c]
movups xmmword [eax], xmm0
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x64], 0
mov dword [esp + 0x58], esi
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0x20], ebp
jmp 0x1004e09c
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jb 0x1004e0bc
cmp dword [esp + 0x64], 0
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x1004e0ef
mov edx, dword [esp + 0x18]
mov cl, byte [eax]
inc eax
mov dword [edx + 0xc], eax
mov dl, cl
mov dword [esp + 0x28], edx
cmp cl, 0xb
je 0x1004e0d6
cmp cl, 0xe
jne 0x1004e0eb
mov ecx, dword [esp + 0x40]
movzx eax, dl
xor edx, edx
cmp byte [ecx + 9], dl
cmovne eax, edx
mov dl, al
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x40]
mov al, byte [eax + 8]
mov ah, byte [esp + 0x32]
test al, al
je 0x1004e18a
test ah, ah
jne 0x1004e138
cmp dl, 1
je 0x1004e138
cmp dl, 3
je 0x1004e138
cmp dl, 0xd
je 0x1004e138
cmp dl, 0xa
je 0x1004e138
cmp dl, 0xb
je 0x1004e138
cmp dl, 0xc
je 0x1004e138
cmp dl, 0xe
je 0x1004e138
cmp dl, 0x20
jae 0x1004e138
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov esi, dword [esp + 0x5c]
test esi, esi
jle 0x1004e163
cmp dl, 0xa
je 0x1004e163
cmp dl, 0xb
je 0x1004e163
cmp dl, 0xc
je 0x1004e163
cmp dl, 0x20
mov dword [esp + 0x48], 0
cmovb esi, dword [esp + 0x48]
mov dword [esp + 0x5c], esi
cmp byte [esp + 0x44], 0
mov ebx, dword [esp + 0x70]
je 0x1004e18a
cmp dl, 0x20
jae 0x1004e18a
mov ebx, dword [esp + 0x44]
xor esi, esi
movzx ebx, bl
cmp dl, 0xc
cmovne ebx, esi
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x68]
cmp dword [esi], 0
jne 0x10052e8d
sub dword [esp + 0x6c], 1
je 0x10052d46
movzx esi, dl
cmp esi, 0x1f
ja case.default.0x1004e1ae
jmp dword [esi*4 + 0x100534a0]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1004e1ae.0
cmp byte [edx + 0x5d], 0
jne 0x10052d46
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x1004e1f9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e1ea
cmp dword [eax], 0
jne 0x1004e1ea
mov dword [eax], 0xa1
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
cmp dword [eax - 4], 2
je 0x1004e220
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e211
cmp dword [eax], 0
jne 0x1004e211
mov dword [eax], 0xa0
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1004e367
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1004e1ae.0
cmp dword [edx + 0x60], 0
je 0x10052d46
mov eax, dword [edx + 0x224]
lea esi, [edx + 0x5c]
push dword [edx + 0x80]
mov ecx, esi
push dword [edx + 0x7c]
mov edx, dword [edx + 0x78]
mov eax, dword [eax + 0xc]
call eax
test al, al
je 0x1004e29e
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x224]
push dword [ecx + 0x80]
mov edx, dword [ecx + 0x78]
push dword [ecx + 0x7c]
mov eax, dword [eax + 0x10]
mov ecx, esi
call eax
mov dword [esp + 0x78], eax
test eax, eax
jne 0x10052e8d
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ecx]
jne 0x1004e2bf
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1004e2bb
cmp dword [ecx], 0
jne 0x1004e2bb
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x1004e2e3
cmp dword [eax - 4], 2
je 0x1004e2db
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e2d7
cmp dword [eax], 0
jne 0x1004e2d7
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1004e2e3
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x94]
ja 0x10052d46
push eax
mov edx, ebx
mov ecx, esi
call fcn.1004d930
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [eax + 0x5d], 1
jmp 0x1004e09c
test al, al
jne 0x1004e324
cmp byte [esp + 0xac], al
jne case.0x1004e1ae.0
xor eax, eax
jmp 0x1004e32e
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x20]
mov eax, dword [eax + 4]
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xec]
push dword [esp + 0x3f24]
mov ecx, dword [esp + 0x4c]
mov edx, ebx
push eax
call fcn.1004d440
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x10052e8d
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
test al, al
jne 0x1004e393
cmp byte [esp + 0xac], al
jne case.0x1004e1ae.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xcc]
jmp 0x1004e33b
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x20]
mov eax, dword [eax]
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xcc]
jmp 0x1004e33b
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x1004e3fb
cmp byte [esp + 0x27], 0
jne 0x1004e3fb
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1004e3d9
sub eax, 1
jne 0x1004e3e9
shl ecx, 0x10
jmp 0x1004e3e9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x90]
add eax, ecx
mov ecx, dword [esp + 0x3f1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
cmp byte [eax + 0x224], 0
jne 0x10052e8d
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x1004e42e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e42a
cmp dword [eax], 0
jne 0x1004e42a
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1004e458
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1004e448
sub eax, 1
jne 0x1004e458
shl ecx, 0x10
jmp 0x1004e458
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x2c]
add edi, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3f18], edi
cmp dword [eax + 0x1d4], 0
jne 0x1004e363
cmp byte [esp + 0x2f68], 0
je 0x1004e4ef
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1004cfd0
cmp byte [esp + 0x2fb8], 0
je 0x1004e4d7
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1004ca90
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
cmp byte [esp + 0x1ec], 0
mov eax, dword [esp + 0x2f74]
mov dword [esp + 0x2fb0], ebp
mov dword [esp + 0x2fa0], ebp
mov dword [esp + 0x2fb4], edi
mov dword [esp + 0x2fa4], edi
mov byte [esp + 0x2f6b], 1
je 0x1004e52a
cmp byte [eax + 5], 0
je 0x1004e54e
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1004c0e0
mov ecx, 0x3c7
lea esi, [esp + 0x1e0]
lea edi, [esp + 0x10fc]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [ebx + 0xc]
sub ebp, dword [esi]
sar ebp, 3
test ebp, ebp
je 0x100523c0
nop
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1004e5bb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e5b7
cmp dword [eax], 0
jne 0x1004e5b7
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x1004e5e1
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x1004e5d1
sub eax, 1
jne 0x1004e5e1
shl esi, 0x10
jmp 0x1004e5e1
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
add dword [esp + 0x20], esi
lea eax, [edi + 1]
mov esi, dword [esp + 0x20]
sub ecx, edx
sar ecx, 3
mov dword [esp + 0x3f14], esi
cmp eax, ecx
jb 0x1004e612
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e60e
cmp dword [eax], 0
jne 0x1004e60e
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1004e639
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1004e629
sub eax, 1
jne 0x1004e639
shl ecx, 0x10
jmp 0x1004e639
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edx, esi
add eax, ecx
lea ecx, [esp + 0x1d8]
push eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f1c], eax
call fcn.1004cfd0
mov esi, dword [esp + 0x14]
add edi, 2
cmp edi, ebp
jb 0x1004e590
jmp 0x100523bc
mov eax, dword [esp + 0x14]
mov edi, dword [ebx + 0xc]
sub edi, dword [eax]
sar edi, 3
cmp dl, 6
sete dl
xor esi, esi
test edi, edi
je 0x1004e725
nop dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x1004e6b4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e6b0
cmp dword [eax], 0
jne 0x1004e6b0
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1004e6da
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x1004e6ca
sub eax, 1
jne 0x1004e6da
shl ecx, 0x10
jmp 0x1004e6da
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
test dl, dl
je 0x1004e6ed
add ebp, ecx
mov dword [esp + 0x3f14], ebp
jmp 0x1004e6fa
add eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x3f18], eax
xor dl, 1
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x33], dl
mov edx, ebp
push eax
call fcn.1004cfd0
mov dl, byte [esp + 0x33]
inc esi
mov eax, dword [esp + 0x14]
cmp esi, edi
jb 0x1004e690
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov ecx, dword [esp + 0x14]
xor ebp, ebp
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x3c], ebp
sub eax, dword [ecx]
sar eax, 3
mov dword [esp + 0x60], eax
cmp eax, 6
jb 0x1004e9cc
lea edi, [ebp + 2]
jmp 0x1004e764
mov ecx, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov eax, esi
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp ebp, eax
jb 0x1004e78f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e78b
cmp dword [eax], 0
jne 0x1004e78b
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x1004e7b6
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1004e7a6
sub eax, 1
jne 0x1004e7b6
shl ecx, 0x10
jmp 0x1004e7b6
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x20]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x34], eax
sar ecx, 3
lea eax, [edi - 1]
cmp eax, ecx
jb 0x1004e7ed
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e7e9
cmp dword [eax], 0
jne 0x1004e7e9
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1004e814
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x1004e804
sub eax, 1
jne 0x1004e814
shl ecx, 0x10
jmp 0x1004e814
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, esi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x48], ebp
cmp edi, eax
jb 0x1004e848
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e844
cmp dword [eax], 0
jne 0x1004e844
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1004e86e
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x1004e85e
sub eax, 1
jne 0x1004e86e
shl ecx, 0x10
jmp 0x1004e86e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x34]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x38], eax
sar ecx, 3
lea eax, [edi + 1]
cmp eax, ecx
jb 0x1004e8a5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e8a1
cmp dword [eax], 0
jne 0x1004e8a1
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1004e8cc
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1004e8bc
sub eax, 1
jne 0x1004e8cc
shl ecx, 0x10
jmp 0x1004e8cc
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
lea eax, [edi + 2]
mov ecx, esi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x1004e8fb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e8f7
cmp dword [eax], 0
jne 0x1004e8f7
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1004e922
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x1004e912
sub eax, 1
jne 0x1004e922
shl ecx, 0x10
jmp 0x1004e922
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x38]
sub esi, edx
add eax, ecx
sar esi, 3
mov dword [esp + 0x20], eax
lea eax, [edi + 3]
cmp eax, esi
jb 0x1004e94e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e94a
cmp dword [eax], 0
jne 0x1004e94a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1004e975
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x1004e965
sub eax, 1
jne 0x1004e975
shl ecx, 0x10
jmp 0x1004e975
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x20]
lea eax, [ecx + ebp]
mov edx, dword [esp + 0x34]
lea ecx, [esp + 0x1d8]
push eax
push esi
push ebp
push dword [esp + 0x44]
mov dword [esp + 0x2c], eax
push dword [esp + 0x58]
call fcn.1004d150
mov eax, dword [esp + 0x1c]
add edi, 6
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x3f18], eax
add ebp, 6
mov dword [esp + 0x3f14], esi
lea eax, [edi + 4]
mov dword [esp + 0x3c], ebp
cmp eax, dword [esp + 0x60]
jbe 0x1004e760
mov edx, dword [esp + 0x28]
cmp dl, 0x18
jne 0x1004eabe
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
mov eax, ecx
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1004ea05
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ea01
cmp dword [eax], 0
jne 0x1004ea01
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1004ea2b
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x1004ea1b
sub eax, 1
jne 0x1004ea2b
shl edx, 0x10
jmp 0x1004ea2b
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [esp + 0x20]
sub ecx, esi
add eax, edx
sar ecx, 3
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f14], eax
lea eax, [ebp + 1]
cmp eax, ecx
jb 0x1004ea5e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ea5a
cmp dword [eax], 0
jne 0x1004ea5a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1004ea84
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x1004ea74
sub eax, 1
jne 0x1004ea84
shl ecx, 0x10
jmp 0x1004ea84
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x20]
add eax, ecx
push eax
mov edx, ebp
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x1dc]
mov dword [esp + 0x3f1c], eax
call fcn.1004cfd0
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
test al, al
je case.0x1004e1ae.0
cmp byte [esp + 0x2f68], 0
je 0x1004eb61
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1004cfd0
cmp byte [esp + 0x2fb8], 0
je 0x1004eb41
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1004ca90
mov byte [esp + 0x2f6b], 1
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [esp + 0x27], 1
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jg 0x10052d46
inc eax
cmp eax, dword [esp + 0xa4]
jb 0x1004eba7
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x1004eba5
cmp dword [eax], 0
jne 0x1004eba5
mov dword [eax], 0x82
xor eax, eax
imul eax, dword [esp + 0x9c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x74]
add ecx, eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x18], ecx
cmp eax, dword [esi]
jne 0x1004ebda
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ebd6
cmp dword [eax], 0
jne 0x1004ebd6
mov dword [eax], 0xa1
xor eax, eax
jmp 0x1004ebfe
cmp dword [eax - 4], 2
je 0x1004ebf6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ebf2
cmp dword [eax], 0
jne 0x1004ebf2
mov dword [eax], 0xa0
xor eax, eax
jmp 0x1004ebfe
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
mov ebx, dword [esp + 0x40]
cmp byte [ebx + 8], 0
mov ebx, dword [esp + 0x70]
je 0x1004ec39
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x1004ec35
push eax
call fcn.1003a120
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004ec30
mov eax, dword [eax]
jmp 0x1004ec39
or eax, 0xffffffff
jmp 0x1004ec39
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
cmp dl, 0x1d
je 0x1004ecfb
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x10052d46
mov eax, dword [eax + 0x23c]
lea edx, [ecx*4]
mov ecx, dword [edx + eax]
mov eax, dword [esp + 0x18]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x30], 0
je 0x1004ecce
mov eax, dword [eax + 0x264]
test eax, eax
je 0x1004eca6
test ecx, ecx
je 0x1004ec9e
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x18]
jmp 0x1004ecdc
mov ecx, dword [esp + 0x18]
xor eax, eax
jmp 0x1004ecdc
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x60], 0
mov eax, dword [eax + 0x260]
test eax, eax
cmovs eax, dword [esp + 0x60]
add eax, ecx
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x2c]
jmp 0x1004ecd2
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x23c]
mov eax, dword [eax + edx + 4]
inc dword [esp + 0x64]
mov edx, 8
mov dword [esp + 0x14], esi
mov dword [edx + ecx], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [ecx + 4]
mov dword [ecx + 0xc], eax
jmp 0x1004e09c
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jae 0x10052d46
mov eax, dword [edx + 0x240]
mov edx, dword [esp + 0x18]
inc dword [esp + 0x64]
mov eax, dword [eax + ecx*4]
mov dword [edx + 0xc], eax
mov dword [edx + 4], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x240]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, edx
mov dword [ecx + 8], eax
jmp 0x1004e09c
mov edx, dword [esp + 0x64]
cmp edx, 1
jl 0x10052d46
dec edx
mov eax, edx
mov dword [esp + 0x64], edx
cmp edx, dword [esp + 0xa4]
jb 0x1004ed77
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x1004ed75
cmp dword [edx], 0
jne 0x1004ed75
mov dword [edx], 0x82
xor eax, eax
mov ecx, dword [esp + 0x9c]
imul ecx, eax
add ecx, dword [esp + 0x74]
mov dword [esp + 0x18], ecx
jmp 0x1004e098
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1004ed9e
mov dl, byte [eax]
inc eax
mov dword [ecx + 0xc], eax
jmp 0x1004edb1
mov eax, dword [ecx]
test eax, eax
je 0x1004edaf
cmp dword [eax], 0
jne 0x1004edaf
mov dword [eax], 0x55
xor dl, dl
movzx ecx, dl
mov byte [esp + 0x33], dl
lea eax, [ecx - 8]
cmp eax, 0x1d
ja case.0x1004edcb.9
movzx eax, byte [eax + 0x10053538]
jmp dword [eax*4 + 0x10053520]
push 0
push 0x10167c30
jmp 0x1004ee38
push 0
push 0x10167ad0
lea eax, [esp + 0x1e0]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f24]
push eax
lea edx, [esp + 0x3f24]
call fcn.1004d660
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x3f18]
mov ebp, dword [esp + 0x3f14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebp
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
push 0
push 0x10167c5c
jmp 0x1004ee38
push 1
push 0x10167df4
lea eax, [esp + 0x1e0]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f24]
push eax
lea edx, [esp + 0x3f24]
call fcn.1004d660
mov edi, dword [esp + 0x3f18]
mov ebp, dword [esp + 0x3f14]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebp
jmp 0x1004e09c
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x1004eec6.0
cmp dl, 0x26
jae case.0x1004eec6.0
mov al, byte [eax + 8]
test al, al
je 0x1004eebd
cmp dword [esp + 0x5c], 0
jle 0x1004eebd
cmp dl, 0x11
je 0x1004eebd
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x5c], 0
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
cmp ecx, 0x21
ja case.0x1004eec6.0
jmp dword [ecx*4 + 0x10053558]
test al, al
je case.0x1004eec6.0
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
mov eax, edx
sub eax, ecx
sar eax, 3
test eax, eax
jne 0x1004ef05
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ef01
cmp dword [eax], 0
jne 0x1004ef01
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1004ef29
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1004ef19
sub eax, 1
jne 0x1004ef29
shl ebp, 0x10
jmp 0x1004ef29
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 2
ja 0x1004ef57
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ef4d
cmp dword [eax], 0
jne 0x1004ef4d
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1004ef84
mov eax, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x28], esi
sub eax, 1
je 0x1004ef70
sub eax, 1
jne 0x1004ef84
shl esi, 0x10
jmp 0x1004ef80
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [esp + 0x28], esi
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 4
ja 0x1004efac
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004efa8
cmp dword [eax], 0
jne 0x1004efa8
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1004efd1
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
sub eax, 1
je 0x1004efc1
sub eax, 1
jne 0x1004efd1
shl edi, 0x10
jmp 0x1004efd1
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, edx
sub eax, ecx
sar eax, 3
cmp eax, 1
ja 0x1004eff9
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004eff5
cmp dword [eax], 0
jne 0x1004eff5
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1004f01e
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
sub eax, 1
je 0x1004f00e
sub eax, 1
jne 0x1004f01e
shl esi, 0x10
jmp 0x1004f01e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
sub edx, ecx
sar edx, 3
cmp edx, 2
jae 0x1004f03c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f054
cmp dword [eax], 0
jne 0x1004f054
mov dword [eax], 0x82
jmp 0x1004f054
mov eax, dword [esp + 0x28]
sub eax, esi
sub eax, ebp
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov dword [eax + 0x14], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
mov eax, ecx
sub eax, esi
sar eax, 3
cmp eax, 3
ja 0x1004f085
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f081
cmp dword [eax], 0
jne 0x1004f081
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1004f0aa
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
sub eax, 1
je 0x1004f09a
sub eax, 1
jne 0x1004f0aa
shl edx, 0x10
jmp 0x1004f0aa
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
sub ecx, esi
sar ecx, 3
cmp ecx, 4
jae 0x1004f0cc
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x1004f0e2
cmp dword [eax], 0
jne 0x1004f0e2
mov dword [eax], 0x82
jmp 0x1004f0e2
sub edi, edx
sub edi, dword [esp + 0x28]
mov dword [esi + 0x20], edi
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [eax + 0x24], 0
cmp byte [esp + 0x33], 1
mov ebp, dword [esp + 0x2c]
mov eax, dword [ebp + 0x20]
jne 0x1004f0f4
mov eax, dword [eax]
jmp 0x1004f0f7
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0xe4]
push eax
lea eax, [esp + 0x2b]
push eax
push dword [esp + 0x3f24]
lea eax, [esp + 0xd0]
cmovne eax, edx
mov edx, ebx
push eax
call fcn.1004d440
cmp byte [ebp + 0x224], 0
jne 0x10052e8d
mov eax, dword [esi]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1004f16d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f169
cmp dword [eax], 0
jne 0x1004f169
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1004f199
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1004f189
sub eax, 1
jne 0x1004f199
shl edi, 0x10
jmp 0x1004f199
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1004f1f4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f1b5
cmp dword [eax], 0
jne 0x1004f1b5
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1004f310
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004e09c
cmp dword [eax], 0
mov edi, dword [esp + 0x1c]
jne 0x1004e09c
mov dword [eax], 0x82
jmp 0x1004e09c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1004f20e
sub eax, 1
jne 0x1004f21e
shl esi, 0x10
jmp 0x1004f21e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
je 0x1004f1b5
test edi, edi
je 0x1004f1b5
mov esi, 1
jmp 0x1004f1b7
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1004f256
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f252
cmp dword [eax], 0
jne 0x1004f252
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1004f282
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1004f272
sub eax, 1
jne 0x1004f282
shl edi, 0x10
jmp 0x1004f282
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1004f2a0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f2ce
cmp dword [eax], 0
jne 0x1004f2ce
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
jmp 0x1004f2ce
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1004f2ba
sub eax, 1
jne 0x1004f2ca
shl esi, 0x10
jmp 0x1004f2ca
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
jne 0x1004f2d6
test edi, edi
jne 0x1004f2d6
xor esi, esi
jmp 0x1004f2db
mov esi, 1
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1004f310
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004e09c
cmp dword [eax], 0
jne 0x1004e09c
mov dword [eax], 0x82
jmp 0x1004e09c
mov dword [ecx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1004e09c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x1004f356
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f352
cmp dword [eax], 0
jne 0x1004f352
mov dword [eax], 0xa1
mov esi, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edx, edx
jmp 0x1004f382
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1004f372
sub eax, 1
jne 0x1004f382
shl edx, 0x10
jmp 0x1004f382
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x14]
cmp ecx, eax
jne 0x1004f3bb
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004e09c
cmp dword [eax], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jne 0x1004e09c
mov dword [eax], 0x82
jmp 0x1004e09c
xor eax, eax
test edx, edx
sete al
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1004e09c
test al, al
je case.0x1004eec6.0
mov eax, dword [esp + 0x2c]
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov eax, dword [eax + 4]
mov dword [esp + 0x58], eax
cmp ecx, edx
jne 0x10052bd6
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f414
cmp dword [eax], 0
jne 0x1004f414
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x10052c0a
mov esi, dword [esp + 0x14]
test al, al
je 0x1004e363
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x1004f44a
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f446
cmp dword [eax], 0
jne 0x1004f446
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1004f474
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1004f464
sub eax, 1
jne 0x1004f474
shl ecx, 0x10
jmp 0x1004f474
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [eax + 4], ecx
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x1004f49b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f497
cmp dword [eax], 0
jne 0x1004f497
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1004f4c5
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1004f4b5
sub eax, 1
jne 0x1004f4c5
shl ecx, 0x10
jmp 0x1004f4c5
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x24]
mov dword [eax], ecx
mov ecx, dword [ebx + 0xc]
mov esi, dword [esi]
cmp ecx, esi
jne 0x1004f4f3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f4ef
cmp dword [eax], 0
jne 0x1004f4ef
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1004f51d
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1004f50d
sub eax, 1
jne 0x1004f51d
shl edx, 0x10
jmp 0x1004f51d
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x1004f537
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f533
cmp dword [eax], 0
jne 0x1004f533
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1004f561
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1004f551
sub eax, 1
jne 0x1004f561
shl ecx, 0x10
jmp 0x1004f561
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
mov eax, dword [esi + 0x20]
add dword [eax], ecx
mov eax, dword [esi + 0x20]
add dword [eax + 4], edx
cmp byte [esi + 0x2f], 0
jne 0x10052e8d
cmp byte [esp + 0x32], 0
mov esi, dword [esp + 0x14]
je 0x1004e363
mov eax, dword [esi]
add ebp, ecx
mov ecx, dword [esp + 0x18]
add edi, edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f14], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3f18], edi
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x1004f62d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f5d3
cmp dword [eax], 0
jne 0x1004f5d3
mov dword [eax], 0xa1
mov edi, dword [ebx + 0x10]
xor ecx, ecx
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
mov eax, ecx
lea ecx, [edi*8]
mov edi, dword [esp + 0x1c]
add ecx, ebp
mov ebp, dword [esp + 0x20]
cdq
xor eax, edx
sub eax, edx
cmp esi, ecx
jne 0x10050d19
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004e09c
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jne 0x1004e09c
mov dword [eax], 0x82
jmp 0x1004e09c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1004f647
sub eax, 1
jne 0x1004f657
shl ecx, 0x10
jmp 0x1004f657
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edi, dword [ebx + 0x10]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
cmp ecx, 0x80000001
jge 0x1004f5de
lea eax, [edi*8]
add eax, ebp
cmp esi, eax
jne 0x1004f6a8
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051209
cmp dword [eax], 0
mov esi, dword [esp + 0x14]
jne 0x1005120d
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1004e09c
mov dword [esi], 0x7fffffff
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1004e09c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1004f6fa
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f6f6
cmp dword [eax], 0
jne 0x1004f6f6
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1004f726
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1004f716
sub eax, 1
jne 0x1004f726
shl edi, 0x10
jmp 0x1004f726
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1004f746
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f742
cmp dword [eax], 0
jne 0x1004f742
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1004f770
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1004f760
sub eax, 1
jne 0x1004f770
shl esi, 0x10
jmp 0x1004f770
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1004f783
mov edi, dword [esp + 0x1c]
jmp 0x1004f1c9
lea eax, [esi + edi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1004e09c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1004f7d0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f7cc
cmp dword [eax], 0
jne 0x1004f7cc
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1004f7fc
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1004f7ec
sub eax, 1
jne 0x1004f7fc
shl edi, 0x10
jmp 0x1004f7fc
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1004f81c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f818
cmp dword [eax], 0
jne 0x1004f818
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1004f846
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1004f836
sub eax, 1
jne 0x1004f846
shl esi, 0x10
jmp 0x1004f846
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1004f859
mov edi, dword [esp + 0x1c]
jmp 0x1004f1c9
sub esi, edi
mov edi, dword [esp + 0x1c]
mov dword [ecx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1004e09c
test al, al
je 0x1004f935
cmp byte [esp + 0x44], 0
je 0x1004f935
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1004f8b5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f8b1
cmp dword [eax], 0
jne 0x1004f8b1
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1004f8dc
cmp dword [eax - 4], 2
je 0x1004f8d4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f8d0
cmp dword [eax], 0
jne 0x1004f8d0
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x1004f8dc
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x1004f900
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f8f5
cmp dword [eax], 0
jne 0x1004f8f5
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x44], cl
jmp 0x1004f9cc
cmp dword [eax - 4], 2
je 0x1004f923
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f918
cmp dword [eax], 0
jne 0x1004f918
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x44], cl
jmp 0x1004f9cc
add eax, 0xfffffff8
mov byte [esp + 0x44], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x1004f9cc
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x1004f95e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f95a
cmp dword [eax], 0
jne 0x1004f95a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1004f988
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x1004f978
sub eax, 1
jne 0x1004f988
shl edx, 0x10
jmp 0x1004f988
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x1004f9a2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004f99e
cmp dword [eax], 0
jne 0x1004f99e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1004f9cc
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x1004f9bc
sub eax, 1
jne 0x1004f9cc
shl ecx, 0x10
jmp 0x1004f9cc
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10039250
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x10050d19
mov esi, dword [esp + 0x14]
jmp 0x1004f390
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x1004fa43
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fa0e
cmp dword [eax], 0
jne 0x1004fa0e
mov dword [eax], 0xa1
mov eax, dword [ebx + 0x10]
xor ecx, ecx
mov esi, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
lea eax, [esi + eax*8]
mov esi, dword [esp + 0x14]
cmp edx, eax
je 0x1004f390
neg ecx
mov dword [edx], ecx
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1004e09c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1004fa5d
sub eax, 1
jne 0x1004fa6d
shl ecx, 0x10
jmp 0x1004fa6d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [ebx + 0x10]
mov esi, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
cmp ecx, 0x80000001
jge 0x1004fa19
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x1004faac
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051209
mov esi, dword [esp + 0x14]
cmp dword [eax], 0
jne 0x1005120d
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1004e09c
mov dword [edx], 0x7fffffff
jmp 0x10051083
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1004fae0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fadc
cmp dword [eax], 0
jne 0x1004fadc
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1004fb0c
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1004fafc
sub eax, 1
jne 0x1004fb0c
shl edi, 0x10
jmp 0x1004fb0c
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1004fb2c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fb28
cmp dword [eax], 0
jne 0x1004fb28
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1004fb56
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1004fb46
sub eax, 1
jne 0x1004fb56
shl esi, 0x10
jmp 0x1004fb56
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x1004fb69
mov edi, dword [esp + 0x1c]
jmp 0x1004f1c9
xor eax, eax
cmp esi, edi
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
sete al
mov dword [ecx], eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test al, al
je 0x1004e09c
mov eax, dword [ebx + 0xc]
mov ecx, esi
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1004fbc5
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fbc1
cmp dword [eax], 0
jne 0x1004fbc1
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1004fbec
cmp dword [eax - 4], 2
je 0x1004fbe4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fbe0
cmp dword [eax], 0
jne 0x1004fbe0
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1004fbec
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x1004fc0c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fc08
cmp dword [eax], 0
jne 0x1004fc08
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1004fc33
cmp dword [eax - 4], 2
je 0x1004fc2b
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fc27
cmp dword [eax], 0
jne 0x1004fc27
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x1004fc33
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edi, dword [eax]
mov edx, dword [ebx + 0xc]
xor eax, eax
mov ebp, edx
mov dword [esp + 0x28], edi
sub ebp, ecx
mov dword [esp + 0x4c], eax
sar ebp, 3
sub ebp, edi
mov dword [esp + 0x5c], eax
mov dword [esp + 0x38], ebp
cmp esi, 0x1c
ja case.0x1004fc61.4
movzx eax, byte [esi + 0x10053620]
jmp dword [eax*4 + 0x100535e0]
cmp edi, 3
jne 0x10052d46
cmp byte [esp + 0x32], 0
je 0x1004fc96
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x10052d46
cmp dword [eax + 0x1d8], 7
jne 0x10052d46
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1004fcbb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fcb5
cmp dword [eax], 0
jne 0x1004fcb5
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x20]
jmp 0x1004fcd2
mov ebp, dword [esp + 0x20]
mov dword [edx], ebp
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edx, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [esi]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x1004fd09
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fd19
cmp dword [eax], 0
jne 0x1004fd19
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov dword [esp + 0x4c], 2
jmp 0x1004e09c
mov dword [edx], edi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], 2
jmp 0x1004e09c
test edi, edi
jne 0x10052d46
cmp byte [esp + 0x32], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
je 0x1004e09c
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0xc]
movsx eax, word [ecx + 0x16]
movsx edx, word [ecx + 0x3a]
add eax, 6
add eax, edx
cmp eax, dword [ecx + 4]
jbe 0x1004fd7a
push 0
mov edx, 6
call fcn.10039920
test eax, eax
jne 0x10052e8d
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [edx + 0x1d4], 1
mov dword [edx + 0x1d8], 0
jmp 0x1004e09c
test edi, edi
jne 0x10052d46
cmp byte [esp + 0x32], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
je 0x1004e09c
mov edx, dword [esp + 0x2c]
cmp dword [edx + 0x1d4], 0
je 0x10052d46
mov esi, dword [edx + 0x1d8]
lea eax, [esi + 1]
mov dword [edx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x10051209
mov ecx, dword [edx + 0xc]
movsx eax, word [ecx + 0x16]
movsx edx, word [ecx + 0x3a]
inc eax
add eax, edx
cmp eax, dword [ecx + 4]
jbe 0x1004fe1d
push 0
mov edx, 1
call fcn.10039920
test eax, eax
jne 0x10052d46
lea eax, [esi - 3]
cmp esi, 3
jg 0x1004fe27
mov eax, esi
mov ebp, dword [esp + 0x20]
add eax, eax
mov edi, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x11c], ebp
mov dword [esp + eax*4 + 0x120], edi
cmp esi, 3
je 0x1004fe4d
cmp esi, 6
jne 0x10051209
push dword [esp + 0x138]
mov edx, dword [esp + 0x128]
lea ecx, [esp + 0x1dc]
push dword [esp + 0x138]
push dword [esp + 0x138]
push dword [esp + 0x138]
push dword [esp + 0x138]
call fcn.1004d150
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
cmp edi, 1
jne 0x10052d46
cmp byte [esp + 0x32], 0
je 0x1004fef0
mov eax, dword [esp + 0x68]
xorps xmm0, xmm0
movups xmmword [esp + 0xa8], xmm0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xf8], 0
movq qword [esp + 0xb8], xmm0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xa8], eax
mov byte [esp + 0xac], 0
mov byte [esp + 0xad], 1
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], 1
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x10052d46
xor eax, eax
cmp esi, 0x12
sete al
lea edx, [eax - 0xd]
mov eax, dword [ecx]
add edx, esi
imul eax, edx
mov dword [esp + 0x4c], edx
cmp edi, eax
jne 0x10052d46
lea edi, [edx + ebp]
test edx, edx
je 0x1005009e
mov dword [esp + 0x48], edx
nop dword [eax + eax]
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp ebp, eax
jb 0x1004ff98
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004ff94
cmp dword [eax], 0
jne 0x1004ff94
mov dword [eax], 0x82
xor esi, esi
jmp 0x1004ffbe
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1004ffae
sub eax, 1
jne 0x1004ffbe
shl esi, 0x10
jmp 0x1004ffbe
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x10050051
mov ebp, 1
mov dword [esp + 0x34], 4
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x1004fffc
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004fff8
cmp dword [eax], 0
jne 0x1004fff8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10050022
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x10050012
sub eax, 1
jne 0x10050022
shl ecx, 0x10
jmp 0x10050022
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x34]
mov edx, dword [edx + 0x88]
mov edx, dword [eax + edx]
call fcn.10030ca0
mov ecx, dword [esp + 0x3c]
inc ebp
add dword [esp + 0x34], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x1004ffd4
mov ebp, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp ebp, eax
jbe 0x10050077
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050088
cmp dword [eax], 0
jne 0x10050088
mov dword [eax], 0x82
jmp 0x10050088
mov eax, dword [esp + 0x14]
mov dword [ecx + ebp*8], esi
mov eax, dword [eax]
mov dword [eax + ebp*8 + 4], 0
mov ecx, dword [esp + 0x3c]
inc ebp
sub edx, 1
mov dword [esp + 0x38], ebp
mov dword [esp + 0x48], edx
jne 0x1004ff70
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esp + 0x28]
sub edx, dword [esp + 0x4c]
sub eax, dword [esi]
sar eax, 3
cmp edx, eax
jbe 0x100500e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100523c5
cmp dword [eax], 0
jne 0x100523c5
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x1004e09c
mov ebp, dword [esp + 0x20]
lea eax, [edx*8]
mov edi, dword [esp + 0x1c]
sub ecx, eax
mov dword [ebx + 0xc], ecx
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x10052d46
test esi, esi
je 0x10052d46
cmp edx, ecx
jne 0x10050135
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050131
cmp dword [eax], 0
jne 0x10050131
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10050161
cmp dword [edx - 4], 2
je 0x10050151
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005014d
cmp dword [eax], 0
jne 0x1005014d
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10050161
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10052d46
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x10052d46
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.10121200
mov esi, dword [esp + 0x20]
add esp, 0xc
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
cmp edi, 2
jne 0x10052d46
cmp edx, ecx
jne 0x100501d0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100501cc
cmp dword [eax], 0
jne 0x100501cc
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x100501fc
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [edx]
sub eax, 1
je 0x100501ec
sub eax, 1
jne 0x100501fc
shl edi, 0x10
jmp 0x100501fc
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x1005021c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050218
cmp dword [eax], 0
jne 0x10050218
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10050246
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10050236
sub eax, 1
jne 0x10050246
shl esi, 0x10
jmp 0x10050246
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1005027f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050292
cmp dword [eax], 0
jne 0x10050292
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov dword [esp + 0x4c], 1
jmp 0x1004e09c
lea eax, [esi + edi]
mov dword [edx], eax
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x4c], 1
jmp 0x1004e09c
cmp edi, 2
jne 0x10052d46
cmp edx, ecx
jne 0x100502d8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100502d4
cmp dword [eax], 0
jne 0x100502d4
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x10050304
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [edx]
sub eax, 1
je 0x100502f4
sub eax, 1
jne 0x10050304
shl edi, 0x10
jmp 0x10050304
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x10050324
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050320
cmp dword [eax], 0
jne 0x10050320
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1005034e
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005033e
sub eax, 1
jne 0x1005034e
shl esi, 0x10
jmp 0x1005034e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x10050377
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050292
cmp dword [eax], 0
jne 0x10050292
mov dword [eax], 0x82
jmp 0x10050292
sub esi, edi
mov dword [edx], esi
jmp 0x10050284
cmp edi, 2
jne 0x10052d46
cmp edx, ecx
jne 0x100503a9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100503a5
cmp dword [eax], 0
jne 0x100503a5
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x100503d5
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [edx]
sub eax, 1
je 0x100503c5
sub eax, 1
jne 0x100503d5
shl esi, 0x10
jmp 0x100503d5
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x100503ef
mov eax, dword [ebx + 4]
test eax, eax
je 0x100503eb
cmp dword [eax], 0
jne 0x100503eb
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10050419
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10050409
sub eax, 1
jne 0x10050419
shl ecx, 0x10
jmp 0x10050419
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.10030ca0
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*8]
cmp esi, ecx
jne 0x10050452
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050292
cmp dword [eax], 0
jne 0x10050292
mov dword [eax], 0x82
jmp 0x10050292
mov dword [esi], eax
jmp 0x10050284
cmp edi, 2
jne 0x10052d46
cmp edx, ecx
jne 0x10050482
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005047e
cmp dword [eax], 0
jne 0x1005047e
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x100504ae
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [edx]
sub eax, 1
je 0x1005049e
sub eax, 1
jne 0x100504ae
shl esi, 0x10
jmp 0x100504ae
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x100504c8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100504c4
cmp dword [eax], 0
jne 0x100504c4
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100504f2
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100504e2
sub eax, 1
jne 0x100504f2
shl ecx, 0x10
jmp 0x100504f2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test esi, esi
je 0x10052d46
mov edx, esi
call fcn.10039250
jmp 0x10050420
cmp edi, 2
jne 0x10052d46
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10052d46
cmp edx, ecx
jne 0x1005053a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050536
cmp dword [eax], 0
jne 0x10050536
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10050566
cmp dword [edx - 4], 2
je 0x10050556
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050552
cmp dword [eax], 0
jne 0x10050552
mov dword [eax], 0xa0
xor esi, esi
jmp 0x10050566
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
test esi, esi
js 0x10052d46
cmp esi, dword [ebp + 0x28c]
jae 0x10052d46
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
cmp edx, dword [eax]
jne 0x100505af
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005058f
cmp dword [eax], 0
jne 0x1005058f
mov dword [eax], 0xa1
mov eax, dword [ebp + 0x288]
xor ecx, ecx
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [eax + esi*4], ecx
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100505e5
sub eax, 1
jne 0x100505f5
mov eax, dword [ebp + 0x288]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
shl ecx, 0x10
mov dword [eax + esi*4], ecx
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [ebp + 0x288]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov dword [eax + esi*4], ecx
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
cmp edi, 1
jne 0x10052d46
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x10052d46
cmp edx, ecx
jne 0x10050647
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050643
cmp dword [eax], 0
jne 0x10050643
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10050673
cmp dword [edx - 4], 2
je 0x10050663
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005065f
cmp dword [eax], 0
jne 0x1005065f
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10050673
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x10052d46
cmp ecx, dword [ebp + 0x28c]
jae 0x10052d46
mov eax, dword [ebp + 0x288]
mov esi, dword [eax + ecx*4]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10050379
jmp 0x10050433
cmp edi, 4
jne 0x10052d46
cmp edx, ecx
jne 0x100506d3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100506c9
cmp dword [eax], 0
jne 0x100506c9
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1005070f
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x100506f9
sub eax, 1
mov eax, dword [edx]
je 0x100506f0
mov dword [esp + 0x28], eax
jmp 0x1005070f
shl eax, 0x10
mov dword [esp + 0x28], eax
jmp 0x1005070f
mov ebp, dword [edx]
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x28], ebp
cmp edx, ecx
jne 0x1005072f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005072b
cmp dword [eax], 0
jne 0x1005072b
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x10050759
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ebp, dword [edx]
sub eax, 1
je 0x10050749
sub eax, 1
jne 0x10050759
shl ebp, 0x10
jmp 0x10050759
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp edx, ecx
jne 0x10050779
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050775
cmp dword [eax], 0
jne 0x10050775
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x100507a3
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10050793
sub eax, 1
jne 0x100507a3
shl esi, 0x10
jmp 0x100507a3
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x100507c3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100507bf
cmp dword [eax], 0
jne 0x100507bf
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor edi, edi
jmp 0x100507ed
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x100507dd
sub eax, 1
jne 0x100507ed
shl edi, 0x10
jmp 0x100507ed
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
je 0x10050433
cmp ebp, dword [esp + 0x28]
cmovle esi, edi
mov dword [edx], esi
jmp 0x10050284
test edi, edi
jne 0x10052d46
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x218]
mov ecx, dword [edx + 0x288]
mov eax, ecx
shl eax, 0xd
movzx esi, cx
xor ecx, eax
mov eax, ecx
inc esi
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor eax, ecx
mov dword [edx + 0x288], eax
jmp 0x10050688
mov ebp, dword [esp + 0x28]
test ebp, ebp
js 0x10052d46
test esi, esi
js 0x10052d46
cmp ebp, 3
jle 0x10050869
mov ebp, 3
mov dword [esp + 0x5c], ebp
jmp 0x1005087a
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x5c], ebp
cmp ebp, 1
jl 0x1004e090
lea edi, [esp + ebp*4 + 0x78]
nop
cmp edx, ecx
jne 0x100508a3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005089f
cmp dword [eax], 0
jne 0x1005089f
mov dword [eax], 0xa1
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x100508cd
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x100508bd
sub eax, 1
jne 0x100508cd
shl esi, 0x10
jmp 0x100508cd
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [edi], esi
sub edi, 4
sub ebp, 1
jne 0x10050880
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test al, al
je 0x1004e09c
mov edx, dword [esp + 0x4c]
test edx, edx
jle 0x1005090e
dec edx
mov dword [esp + 0x4c], edx
jmp 0x1004e09c
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x10052d46
mov esi, dword [esp + eax*4 + 0x78]
dec eax
mov dword [esp + 0x5c], eax
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10050faf
mov esi, dword [esp + 0x14]
jmp 0x1004f390
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x10050971
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004e09c
cmp dword [eax], 0
jne 0x1004e09c
mov dword [eax], 0xa1
jmp 0x1004e09c
mov ecx, dword [esp + 0x18]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x100509a6
mov eax, dword [ebx + 4]
test eax, eax
je 0x100509a2
cmp dword [eax], 0
jne 0x100509a2
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x100509cd
cmp dword [eax - 4], 2
je 0x100509c5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100509c1
cmp dword [eax], 0
jne 0x100509c1
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x100509cd
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, ecx
jne 0x100509ea
mov eax, dword [ebx + 4]
test eax, eax
je 0x100509e6
cmp dword [eax], 0
jne 0x100509e6
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10050a14
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10050a04
sub eax, 1
jne 0x10050a14
shl ecx, 0x10
jmp 0x10050a14
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp esi, 0x1f
ja 0x1004e094
mov dword [esp + esi*4 + 0x158], ecx
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x10050a5c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050a4e
cmp dword [eax], 0
jne 0x10050a4e
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x10050923
cmp dword [eax - 4], 2
je 0x10050a82
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050a74
cmp dword [eax], 0
jne 0x10050a74
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x10050923
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x1005120d
cmp eax, 0x20
jge 0x1005120d
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x10050923
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10050ad6
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050acc
cmp dword [eax], 0
jne 0x10050acc
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x10050b12
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x10050afc
sub eax, 1
mov eax, dword [ecx]
je 0x10050af3
mov dword [esp + 0x28], eax
jmp 0x10050b12
shl eax, 0x10
mov dword [esp + 0x28], eax
jmp 0x10050b12
mov ebp, dword [ecx]
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x28], ebp
cmp ecx, edx
jne 0x10050b32
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050b2e
cmp dword [eax], 0
jne 0x10050b2e
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x10050b5c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x10050b4c
sub eax, 1
jne 0x10050b5c
shl ebp, 0x10
jmp 0x10050b5c
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp ecx, edx
jne 0x10050b7c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050b78
cmp dword [eax], 0
jne 0x10050b78
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x10050ba6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10050b96
sub eax, 1
jne 0x10050ba6
shl esi, 0x10
jmp 0x10050ba6
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x10050bc6
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050bc2
cmp dword [eax], 0
jne 0x10050bc2
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edi, edi
jmp 0x10050bf0
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10050be0
sub eax, 1
jne 0x10050bf0
shl edi, 0x10
jmp 0x10050bf0
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x10050c07
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1004f5fe
cmp ebp, dword [esp + 0x28]
cmovle esi, edi
mov dword [ecx], esi
jmp 0x1004f6ae
mov eax, dword [esp + 0x2c]
mov edx, dword [eax + 0x218]
mov ecx, dword [edx + 0x288]
mov eax, ecx
shl eax, 0xd
movzx esi, cx
xor ecx, eax
mov eax, ecx
inc esi
shr eax, 0x11
xor ecx, eax
mov eax, ecx
shl eax, 5
xor eax, ecx
mov dword [edx + 0x288], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1004fa85
mov dword [edx], esi
jmp 0x10051083
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10050c8b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050c87
cmp dword [eax], 0
jne 0x10050c87
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x10050cb7
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10050ca7
sub eax, 1
jne 0x10050cb7
shl esi, 0x10
jmp 0x10050cb7
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x10050cd1
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050ccd
cmp dword [eax], 0
jne 0x10050ccd
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10050cfb
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10050ceb
sub eax, 1
jne 0x10050cfb
shl ecx, 0x10
jmp 0x10050cfb
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.10030ca0
mov ecx, dword [esp + 0x14]
mov edx, dword [ebx + 0x10]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx]
lea ecx, [ecx + edx*8]
cmp esi, ecx
je 0x1004fa85
mov dword [esi], eax
jmp 0x10051083
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
mov dword [esp + 0x3c], edx
cmp ecx, edx
jne 0x10050d84
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050d43
cmp dword [eax], 0
jne 0x10050d43
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edi, edi
mov eax, dword [ebx + 0x10]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x10050e13
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004e09c
cmp dword [eax], 0
jne 0x1004e09c
mov dword [eax], 0x82
jmp 0x1004e09c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov dword [esp + 0x34], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x10050da2
sub eax, 1
jne 0x10050dba
shl ebp, 0x10
jmp 0x10050db2
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], edx
test ebp, ebp
jle 0x10050d49
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.10039250
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x10050e02
nop
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.10039250
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x10050de0
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
jmp 0x10050d4b
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
jmp 0x10050d4b
mov ebp, dword [esp + 0x20]
mov dword [ecx], edi
mov eax, dword [ebx + 0xc]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1004e09c
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x10050e5d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050e59
cmp dword [eax], 0
jne 0x10050e59
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10050e89
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10050e79
sub eax, 1
jne 0x10050e89
shl esi, 0x10
jmp 0x10050e89
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x10050eb2
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050926
cmp dword [eax], 0
jne 0x10050926
mov dword [eax], 0x82
jmp 0x10050923
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x10050923
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x10050ef0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050eec
cmp dword [eax], 0
jne 0x10050eec
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x10050f1c
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
mov edi, dword [edx]
sub eax, 1
je 0x10050f0c
sub eax, 1
jne 0x10050f1c
shl edi, 0x10
jmp 0x10050f1c
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x10050f3c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050f38
cmp dword [eax], 0
jne 0x10050f38
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10050f66
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10050f56
sub eax, 1
jne 0x10050f66
shl esi, 0x10
jmp 0x10050f66
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x10050f84
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050f97
cmp dword [eax], 0
jne 0x10050f97
mov dword [eax], 0x82
jmp 0x10050f94
mov dword [edx], edi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov edx, dword [ebx + 0xc]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
je 0x1004f1c9
mov dword [edx], esi
jmp 0x10051083
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x10050fdc
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050fd8
cmp dword [eax], 0
jne 0x10050fd8
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10051003
cmp dword [eax - 4], 2
je 0x10050ffb
mov eax, dword [ebx + 4]
test eax, eax
je 0x10050ff7
cmp dword [eax], 0
jne 0x10050ff7
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10051003
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov esi, dword [ebx + 0xc]
mov eax, esi
sub eax, ecx
sar eax, 3
test eax, eax
je 0x1004e094
test edx, edx
jns 0x1005101e
lea edi, [eax - 1]
jmp 0x1005103f
cmp edx, eax
jb 0x1005103a
xor edi, edi
mov eax, dword [ecx + edi*8 + 4]
mov edx, dword [ecx + edi*8]
sub eax, 1
je 0x1005105f
sub eax, 1
jne 0x1005106f
shl edx, 0x10
jmp 0x1005106f
mov edi, eax
sub edi, edx
dec edi
cmp edi, eax
jb 0x10051024
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005105b
cmp dword [eax], 0
jne 0x1005105b
mov dword [eax], 0x82
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
xor edx, edx
jmp 0x1005106f
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
lea eax, [ecx + eax*8]
cmp esi, eax
je 0x1004f1c9
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
cmp eax, ecx
jne 0x100510c4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100510c0
cmp dword [eax], 0
jne 0x100510c0
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x100510eb
cmp dword [eax - 4], 2
je 0x100510e3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100510df
cmp dword [eax], 0
jne 0x100510df
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x100510eb
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x1005111d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051104
cmp dword [eax], 0
jne 0x10051104
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
jmp 0x1004e09c
cmp dword [eax - 4], 2
je 0x1005114e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051135
cmp dword [eax], 0
jne 0x10051135
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
jmp 0x1004e09c
add eax, 0xfffffff8
mov dword [esp + 0x34], 0
mov dword [ebx + 0xc], eax
mov dword [esp + 0x3c], 2
mov ecx, dword [eax]
mov dword [esp + 0x38], ecx
cmp ecx, 2
jl 0x1005120d
sub eax, dword [esi]
sar eax, 3
cmp ecx, eax
jbe 0x1005118c
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005120d
jmp 0x1004fa94
test edx, edx
jns 0x100511a1
neg edx
mov eax, edx
cdq
idiv ecx
mov edi, edx
neg edi
mov dword [esp + 0x48], edi
jmp 0x100511ac
mov eax, edx
cdq
idiv ecx
mov edi, edx
mov dword [esp + 0x48], edx
test edi, edi
je 0x1005120d
or ebp, 0xffffffff
lea ebx, [edi*8]
mov dword [esp + 0x60], ebx
lea eax, [ecx*8]
mov ebx, ecx
mov dword [esp + 0x50], eax
or edx, ebp
mov dword [esp + 0x28], ebx
lea esi, [ebp - 7]
mov ecx, dword [esp + 0x58]
mov edi, dword [ecx]
cmp ebp, edx
jne 0x100511f7
inc ebp
mov ecx, dword [edi + ebp*8]
lea esi, [ebp*8]
mov dword [esp + 0x34], ecx
mov edx, ebp
mov ecx, dword [edi + esi + 4]
mov dword [esp + 0x3c], ecx
add edx, dword [esp + 0x48]
add esi, dword [esp + 0x60]
cmp edx, ebx
jl 0x1005121e
sub edx, ebx
sub esi, eax
jmp 0x10051226
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
test edx, edx
jns 0x10051226
add edx, ebx
add esi, eax
sub dword [esp + 0x38], 1
mov eax, dword [esi + edi]
mov ecx, dword [esi + edi + 4]
mov ebx, dword [esp + 0x34]
mov dword [esi + edi], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esi + edi + 4], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x3c], ecx
jne 0x100511d4
mov ebx, dword [esp + 0x70]
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
test al, al
je case.0x1004eec6.0
cmp byte [esp + 0x32], 0
je case.0x1004eec6.0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x100512a8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100512a4
cmp dword [eax], 0
jne 0x100512a4
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x100512d6
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
mov dword [esp + 0x1c], edi
sub eax, 1
je 0x100512c6
sub eax, 1
jne 0x100512da
shl edi, 0x10
jmp 0x100512d6
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3f18], edi
cmp ecx, edx
jne 0x100512fb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100512f7
cmp dword [eax], 0
jne 0x100512f7
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10051329
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
mov dword [esp + 0x20], esi
sub eax, 1
je 0x10051319
sub eax, 1
jne 0x1005132d
shl esi, 0x10
jmp 0x10051329
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov dword [esp + 0x20], esi
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x3f14], esi
mov dword [eax + 0x1d4], 0
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
test al, al
je 0x1004e367
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x10051381
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005137d
cmp dword [eax], 0
jne 0x1005137d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100513ab
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1005139b
sub eax, 1
jne 0x100513ab
shl ecx, 0x10
jmp 0x100513ab
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x24]
mov dword [eax], ecx
mov eax, dword [edx + 0x24]
mov dword [eax + 4], 0
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x100513db
mov eax, dword [ebx + 4]
test eax, eax
je 0x100513d7
cmp dword [eax], 0
jne 0x100513d7
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10051405
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100513f5
sub eax, 1
jne 0x10051405
shl ecx, 0x10
jmp 0x10051405
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
mov eax, dword [edx + 0x20]
add dword [eax], ecx
cmp byte [edx + 0x2f], 0
jne 0x10052e8d
cmp byte [esp + 0x32], 0
je 0x1004e363
mov eax, dword [esi]
add ebp, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3f14], ebp
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
test al, al
je 0x10053023
test ah, ah
jne 0x10053023
cmp byte [esp + 0x2f68], ah
je 0x100514cb
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1004cfd0
cmp byte [esp + 0x2fb8], 0
je 0x100514b3
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1004ca90
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
cmp byte [esp + 0x1ec], 0
mov eax, dword [esp + 0x2f74]
mov dword [esp + 0x2fb0], ebp
mov dword [esp + 0x2fa0], ebp
mov dword [esp + 0x2fb4], edi
mov dword [esp + 0x2fa4], edi
mov byte [esp + 0x2f6b], 1
je 0x10051506
cmp byte [eax + 5], 0
je 0x1005152a
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1004c0e0
mov edx, dword [esp + 0x64]
lea esi, [esp + 0x1e0]
mov eax, dword [esp + 0x68]
xorps xmm0, xmm0
mov byte [esp + 0x32], 1
mov ecx, 0x3c7
mov dword [esp + 0xd8], 0
lea edi, [esp + 0x10fc]
mov dword [esp + 0xf8], 0
movq qword [esp + 0xb8], xmm0
mov dword [esp + 0xc0], 0
movups xmmword [esp + 0xa8], xmm0
mov dword [esp + 0xa8], eax
mov byte [esp + 0xac], 0
mov byte [esp + 0xad], 1
rep movsd dword es:[edi], dword [esi]
test edx, edx
jle 0x100515e9
mov ebp, dword [esp + 0xa0]
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0x9c]
mov esi, dword [esp + 0x74]
lea ebx, [edx - 1]
cmp ebx, eax
jb 0x100515cf
test ebp, ebp
je 0x100515cd
cmp dword [ebp], 0
jne 0x100515cd
mov dword [ebp], 0x82
xor ebx, ebx
imul ebx, ecx
dec edx
add ebx, esi
mov dword [esp + 0x18], ebx
test edx, edx
jg 0x100515b5
mov ebx, dword [esp + 0x70]
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x64], edx
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
mov dword [ecx + 0xc], eax
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
sub eax, dword [esi]
sar eax, 3
cmp eax, 1
jbe 0x10051624
cmp byte [esp + 0xac], 0
jne 0x1004e367
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x27]
push 0
push eax
push dword [esp + 0x3f24]
lea eax, [esp + 0xd0]
mov edx, ebx
push eax
call fcn.1004d440
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x10052e8d
mov eax, dword [esp + 0x28]
cmp al, 0x13
jne 0x10051689
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xa8]
add eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x18]
push eax
call fcn.1004d3c0
mov eax, dword [esi]
mov ecx, edx
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
push 0xf1c
lea eax, [esp + 0x2fe4]
push 0
push eax
call fcn.10120ba0
mov ecx, dword [esp + 0x4c]
add esp, 0xc
mov edx, dword [esp + 0x18]
xorps xmm0, xmm0
mov dword [esp + 0x2fe0], ecx
movlpd qword [esp + 0x140], xmm0
mov al, byte [ecx + 0xb8]
mov byte [esp + 0x2fed], al
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x2ff0], eax
lea eax, [esp + 0x2018]
mov dword [esp + 0x2fe4], eax
lea eax, [esp + 0x2f34]
mov dword [esp + 0x2fe8], eax
lea eax, [ecx + 4]
mov dword [esp + 0x13c], eax
lea ecx, [esp + 0x13c]
mov eax, dword [esp + 0xd8]
add eax, dword [esp + 0xf8]
push eax
movlpd qword [esp + 0x14c], xmm0
movlpd qword [esp + 0x154], xmm0
call fcn.1004d3c0
push 0
push 0
lea eax, [esp + 0x144]
push eax
lea eax, [esp + 0xd0]
push eax
lea edx, [esp + 0xf4]
lea ecx, [esp + 0x2ff0]
call fcn.1004c0e0
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x100517ae
cmp byte [esp + 0x27], 0
jne 0x100517ae
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005178c
sub eax, 1
jne 0x1005179c
shl ecx, 0x10
jmp 0x1005179c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x90]
add eax, ecx
mov ecx, dword [esp + 0x3f1c]
mov dword [ecx], eax
mov ebp, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
cmp byte [ebp + 0x224], 0
jne 0x10052e8d
mov ecx, dword [ebx + 0xc]
mov esi, dword [esi]
cmp ecx, esi
jne 0x100517e9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100517e5
cmp dword [eax], 0
jne 0x100517e5
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x10051813
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10051803
sub eax, 1
jne 0x10051813
shl edx, 0x10
jmp 0x10051813
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
add edi, edx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x3f18], edi
cmp ecx, esi
jne 0x1005183a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051836
cmp dword [eax], 0
jne 0x10051836
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10051864
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10051854
sub eax, 1
jne 0x10051864
shl ecx, 0x10
jmp 0x10051864
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x20]
add esi, ecx
cmp dword [ebp + 0x1d4], 0
mov dword [esp + 0x20], esi
mov dword [esp + 0x3f14], esi
jne 0x10051342
cmp byte [esp + 0x2f68], 0
je 0x100518fb
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1004cfd0
cmp byte [esp + 0x2fb8], 0
je 0x100518e3
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1004ca90
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
cmp byte [esp + 0x1ec], 0
mov eax, dword [esp + 0x2f74]
mov dword [esp + 0x2fb0], esi
mov dword [esp + 0x2fa0], esi
mov dword [esp + 0x2fb4], edi
mov dword [esp + 0x2fa4], edi
mov byte [esp + 0x2f6b], 1
je 0x10051936
cmp byte [eax + 5], 0
je 0x1005195a
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1004c0e0
mov ebp, dword [esp + 0x20]
lea esi, [esp + 0x1e0]
mov ecx, 0x3c7
lea edi, [esp + 0x10fc]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x100519dd
cmp byte [esp + 0x27], 0
jne 0x100519dd
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100519b7
sub eax, 1
jne 0x100519c7
shl ecx, 0x10
jmp 0x100519c7
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x90]
add eax, ecx
mov ecx, dword [esp + 0x3f1c]
mov dword [ecx], eax
mov ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
mov byte [esp + 0x27], 1
cmp byte [ebp + 0x224], 0
jne 0x10052e8d
mov edx, dword [ebx + 0xc]
cmp edx, dword [ecx]
jne 0x10051a10
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051a0c
cmp dword [eax], 0
jne 0x10051a0c
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10051a3a
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10051a2a
sub eax, 1
jne 0x10051a3a
shl ecx, 0x10
jmp 0x10051a3a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x20]
add esi, ecx
cmp dword [ebp + 0x1d4], 0
mov dword [esp + 0x20], esi
mov dword [esp + 0x3f14], esi
jne 0x10051342
cmp byte [esp + 0x2f68], 0
je 0x10051ad1
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1004cfd0
cmp byte [esp + 0x2fb8], 0
je 0x10051ab9
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1004ca90
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
cmp byte [esp + 0x1ec], 0
mov eax, dword [esp + 0x2f74]
mov dword [esp + 0x2fb0], esi
mov dword [esp + 0x2fa0], esi
mov dword [esp + 0x2fb4], edi
mov dword [esp + 0x2fa4], edi
mov byte [esp + 0x2f6b], 1
je 0x10051b10
cmp byte [eax + 5], 0
je 0x1005195a
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.1004c0e0
mov ebp, dword [esp + 0x20]
lea esi, [esp + 0x1e0]
mov ecx, 0x3c7
lea edi, [esp + 0x10fc]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov edx, dword [esp + 0x14]
xor edi, edi
mov eax, dword [ebx + 0xc]
sub eax, dword [edx]
sar eax, 3
mov dword [esp + 0x34], eax
cmp eax, 6
jbe 0x10051c64
lea ebp, [edi + 6]
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [edx]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x10051bb0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051bac
cmp dword [eax], 0
jne 0x10051bac
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
xor esi, esi
jmp 0x10051bd6
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x10051bc6
sub eax, 1
jne 0x10051bd6
shl esi, 0x10
jmp 0x10051bd6
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
add dword [esp + 0x20], esi
lea eax, [ebp - 5]
mov esi, dword [esp + 0x20]
sub ecx, edx
sar ecx, 3
mov dword [esp + 0x3f14], esi
cmp eax, ecx
jb 0x10051c07
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051c03
cmp dword [eax], 0
jne 0x10051c03
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10051c2e
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10051c1e
sub eax, 1
jne 0x10051c2e
shl ecx, 0x10
jmp 0x10051c2e
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
mov edx, esi
add eax, ecx
lea ecx, [esp + 0x1d8]
push eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x3f1c], eax
call fcn.1004cfd0
mov eax, dword [esp + 0x34]
add ebp, 2
mov edx, dword [esp + 0x14]
add edi, 2
cmp ebp, eax
jb 0x10051b81
mov ebp, dword [esp + 0x20]
cmp edi, eax
jae 0x10051ed3
add edi, 2
mov esi, dword [ebx + 0xc]
lea eax, [edi - 2]
mov edx, dword [edx]
mov ecx, esi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x10051ca5
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051ca1
cmp dword [eax], 0
jne 0x10051ca1
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10051ccc
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x10051cbc
sub eax, 1
jne 0x10051ccc
shl ecx, 0x10
jmp 0x10051ccc
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [ecx + ebp]
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x38], eax
sar ecx, 3
lea eax, [edi - 1]
cmp eax, ecx
jb 0x10051d00
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051cfc
cmp dword [eax], 0
jne 0x10051cfc
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10051d27
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x10051d17
sub eax, 1
jne 0x10051d27
shl ecx, 0x10
jmp 0x10051d27
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, esi
sub eax, edx
add ebp, ecx
sar eax, 3
mov dword [esp + 0x50], ebp
cmp edi, eax
jb 0x10051d5b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051d57
cmp dword [eax], 0
jne 0x10051d57
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10051d81
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x10051d71
sub eax, 1
jne 0x10051d81
shl ecx, 0x10
jmp 0x10051d81
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x38]
add eax, ecx
mov ecx, esi
sub ecx, edx
mov dword [esp + 0x48], eax
sar ecx, 3
lea eax, [edi + 1]
cmp eax, ecx
jb 0x10051db8
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051db4
cmp dword [eax], 0
jne 0x10051db4
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10051ddf
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10051dcf
sub eax, 1
jne 0x10051ddf
shl ecx, 0x10
jmp 0x10051ddf
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
add ebp, ecx
lea eax, [edi + 2]
mov ecx, esi
sub ecx, edx
sar ecx, 3
cmp eax, ecx
jb 0x10051e0e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051e0a
cmp dword [eax], 0
jne 0x10051e0a
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10051e35
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x10051e25
sub eax, 1
jne 0x10051e35
shl ecx, 0x10
jmp 0x10051e35
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x48]
sub esi, edx
add eax, ecx
sar esi, 3
mov dword [esp + 0x20], eax
lea eax, [edi + 3]
cmp eax, esi
jb 0x10051e61
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051e5d
cmp dword [eax], 0
jne 0x10051e5d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10051e88
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x10051e78
sub eax, 1
jne 0x10051e88
shl ecx, 0x10
jmp 0x10051e88
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x38]
lea esi, [ecx + ebp]
push esi
push dword [esp + 0x24]
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x24], esi
push ebp
push dword [esp + 0x54]
push dword [esp + 0x60]
call fcn.1004d150
mov ebp, dword [esp + 0x20]
add edi, 6
mov edx, dword [esp + 0x14]
mov dword [esp + 0x3f14], ebp
mov dword [esp + 0x3f18], esi
lea eax, [edi - 2]
cmp eax, dword [esp + 0x34]
jb 0x10051c73
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov edi, dword [ebx + 0xc]
sub edi, dword [esi]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x50], ecx
cmp edi, ecx
jae 0x100523c0
mov esi, dword [esp + 0x20]
lea eax, [edi + 3]
lea ebp, [edi + 2]
mov dword [esp + 0x28], eax
lea edx, [edi + 1]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x3c], edx
mov eax, ecx
sub eax, edi
test al, 1
je 0x10051f88
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10051f51
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051f4d
cmp dword [eax], 0
jne 0x10051f4d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10051f77
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10051f67
sub eax, 1
jne 0x10051f77
shl ecx, 0x10
jmp 0x10051f77
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
inc edx
inc ebp
add esi, ecx
mov dword [esp + 0x3c], edx
inc edi
mov dword [esp + 0x34], ebp
inc dword [esp + 0x28]
mov edx, dword [ebx + 0xc]
mov eax, edx
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x14]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10051fbb
mov eax, dword [ebx + 4]
test eax, eax
je 0x10051fb7
cmp dword [eax], 0
jne 0x10051fb7
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x10051fe1
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x10051fd1
sub eax, 1
jne 0x10051fe1
shl esi, 0x10
jmp 0x10051fe1
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x1c]
mov eax, edx
sub eax, ecx
add ebp, esi
mov esi, dword [esp + 0x3c]
sar eax, 3
cmp esi, eax
jb 0x10052015
mov eax, dword [ebx + 4]
test eax, eax
je 0x10052011
cmp dword [eax], 0
jne 0x10052011
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x1005203b
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x1005202b
sub eax, 1
jne 0x1005203b
shl esi, 0x10
jmp 0x1005203b
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x38]
add eax, esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x20], eax
mov eax, edx
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10052073
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005206f
cmp dword [eax], 0
jne 0x1005206f
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x10052099
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x10052089
sub eax, 1
jne 0x10052099
shl esi, 0x10
jmp 0x10052099
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x28]
sub edx, ecx
sar edx, 3
add esi, ebp
cmp eax, edx
jb 0x100520be
mov eax, dword [ebx + 4]
test eax, eax
je 0x100520ba
cmp dword [eax], 0
jne 0x100520ba
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100520e5
lea ecx, [ecx + eax*8]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x100520d5
sub eax, 1
jne 0x100520e5
shl ecx, 0x10
jmp 0x100520e5
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x38]
lea eax, [esi + ecx]
push eax
push dword [esp + 0x24]
lea ecx, [esp + 0x1e0]
mov dword [esp + 0x24], eax
push esi
mov esi, dword [esp + 0x2c]
push esi
push ebp
call fcn.1004d150
mov edx, dword [esp + 0x3c]
add edi, 4
mov ebp, dword [esp + 0x34]
add edx, 4
add dword [esp + 0x28], 4
add ebp, 4
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3f14], esi
mov dword [esp + 0x3f18], eax
mov dword [esp + 0x3c], edx
mov dword [esp + 0x34], ebp
cmp edi, ecx
jb 0x10051f21
jmp 0x100523bc
mov esi, dword [esp + 0x14]
mov edi, dword [ebx + 0xc]
sub edi, dword [esi]
sar edi, 3
mov ecx, edi
and ecx, 0xfffffffd
sub edi, ecx
mov dword [esp + 0x60], ecx
cmp edi, ecx
jae 0x100523c0
lea eax, [edi + 3]
lea ebp, [edi + 2]
mov dword [esp + 0x28], eax
lea edx, [edi + 1]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x34], edx
nop dword [eax]
mov eax, ecx
sub eax, edi
test al, 1
je 0x100521f1
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x100521ac
mov eax, dword [ebx + 4]
test eax, eax
je 0x100521a8
cmp dword [eax], 0
jne 0x100521a8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100521d2
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x100521c2
sub eax, 1
jne 0x100521d2
shl ecx, 0x10
jmp 0x100521d2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov esi, dword [esp + 0x1c]
inc edx
add esi, ecx
mov dword [esp + 0x34], edx
inc ebp
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x14]
inc edi
inc dword [esp + 0x28]
mov dword [esp + 0x3c], ebp
jmp 0x100521f9
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x38], eax
mov edx, dword [ebx + 0xc]
mov eax, edx
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10052224
mov eax, dword [ebx + 4]
test eax, eax
je 0x10052220
cmp dword [eax], 0
jne 0x10052220
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x1005224a
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x1005223a
sub eax, 1
jne 0x1005224a
shl esi, 0x10
jmp 0x1005224a
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov ebp, dword [esp + 0x20]
mov eax, edx
sub eax, ecx
add ebp, esi
mov esi, dword [esp + 0x34]
sar eax, 3
mov dword [esp + 0x50], ebp
cmp esi, eax
jb 0x10052282
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005227e
cmp dword [eax], 0
jne 0x1005227e
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x100522a8
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x10052298
sub eax, 1
jne 0x100522a8
shl esi, 0x10
jmp 0x100522a8
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, edx
add ebp, esi
mov esi, dword [esp + 0x3c]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x100522d8
mov eax, dword [ebx + 4]
test eax, eax
je 0x100522d4
cmp dword [eax], 0
jne 0x100522d4
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x100522fe
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x100522ee
sub eax, 1
jne 0x100522fe
shl esi, 0x10
jmp 0x100522fe
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov eax, dword [esp + 0x38]
sub edx, ecx
add eax, esi
sar edx, 3
mov esi, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
cmp esi, edx
jb 0x1005232b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10052327
cmp dword [eax], 0
jne 0x10052327
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10052353
mov eax, dword [ecx + esi*8 + 4]
lea ecx, [ecx + esi*8]
mov ecx, dword [ecx]
sub eax, 1
je 0x10052343
sub eax, 1
jne 0x10052353
shl ecx, 0x10
jmp 0x10052353
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, dword [esp + 0x50]
lea eax, [ecx + ebp]
mov ecx, dword [esp + 0x1c]
push ecx
push eax
push ecx
push ebp
push dword [esp + 0x48]
lea ecx, [esp + 0x1ec]
mov dword [esp + 0x34], eax
call fcn.1004d150
mov edx, dword [esp + 0x34]
add esi, 4
mov ebp, dword [esp + 0x3c]
add edi, 4
mov eax, dword [esp + 0x20]
add edx, 4
mov ecx, dword [esp + 0x60]
add ebp, 4
mov dword [esp + 0x3f14], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x14]
mov dword [esp + 0x3f18], eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x3c], ebp
cmp edi, ecx
jb 0x10052180
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
mov esi, dword [esp + 0x14]
mov ebp, dword [ebx + 0xc]
sub ebp, dword [esi]
sar ebp, 3
cmp dl, 0x1f
mov eax, ebp
sete byte [esp + 0x33]
and eax, 0xfffffffd
sub ebp, eax
mov dword [esp + 0x3c], eax
cmp ebp, eax
jae 0x10052862
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x58]
mov edx, dword [ebx + 0xc]
mov ecx, edx
mov eax, dword [eax]
sub ecx, eax
sar ecx, 3
cmp byte [esp + 0x33], 0
je 0x10052631
cmp ebp, ecx
jb 0x1005243f
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005243b
cmp dword [ecx], 0
jne 0x1005243b
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10052465
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x10052455
sub ecx, 1
jne 0x10052465
shl esi, 0x10
jmp 0x10052465
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x20]
add ecx, esi
mov dword [esp + 0x38], edi
mov dword [esp + 0x34], ecx
lea edi, [ebp + 1]
mov ecx, edx
mov dword [esp + 0x50], edi
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x100524a4
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100524a0
cmp dword [ecx], 0
jne 0x100524a0
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x100524ca
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x100524ba
sub ecx, 1
jne 0x100524ca
shl esi, 0x10
jmp 0x100524ca
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x34]
lea edi, [ebp + 2]
add ecx, esi
mov dword [esp + 0x28], ecx
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x10052501
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100524fd
cmp dword [ecx], 0
jne 0x100524fd
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10052527
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10052517
sub ecx, 1
jne 0x10052527
shl esi, 0x10
jmp 0x10052527
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov edi, dword [esp + 0x1c]
sub edx, eax
add edi, esi
sar edx, 3
lea esi, [ebp + 3]
cmp esi, edx
jb 0x1005254f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005254b
cmp dword [eax], 0
jne 0x1005254b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10052575
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x10052565
sub eax, 1
jne 0x10052575
shl ecx, 0x10
jmp 0x10052575
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
cmp eax, 5
jne 0x1005261f
mov eax, dword [esp + 0x14]
lea edx, [ebp + 4]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp edx, eax
jb 0x100525cb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100525b2
cmp dword [eax], 0
jne 0x100525b2
mov dword [eax], 0x82
mov eax, dword [esp + 0x28]
xor ecx, ecx
mov ebp, dword [esp + 0x50]
add eax, ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x33], cl
jmp 0x1005281d
mov eax, dword [esi + edx*8 + 4]
mov ecx, dword [esi + edx*8]
sub eax, 1
je 0x100525f7
sub eax, 1
jne 0x10052607
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x50]
shl ecx, 0x10
add eax, ecx
mov byte [esp + 0x33], 0
mov dword [esp + 0x20], eax
jmp 0x1005281d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x28]
mov ebp, dword [esp + 0x50]
add eax, ecx
mov dword [esp + 0x20], eax
mov byte [esp + 0x33], 0
jmp 0x1005281d
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov byte [esp + 0x33], 0
jmp 0x1005281d
mov dword [esp + 0x34], esi
cmp ebp, ecx
jb 0x10052658
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10052654
cmp dword [ecx], 0
jne 0x10052654
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x1005267e
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x1005266e
sub ecx, 1
jne 0x1005267e
shl esi, 0x10
jmp 0x1005267e
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
lea ecx, [esi + edi]
mov dword [esp + 0x38], ecx
lea edi, [ebp + 1]
mov ecx, edx
mov dword [esp + 0x50], edi
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x100526b6
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100526b2
cmp dword [ecx], 0
jne 0x100526b2
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x100526dc
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x100526cc
sub ecx, 1
jne 0x100526dc
shl esi, 0x10
jmp 0x100526dc
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov ecx, dword [esp + 0x20]
lea edi, [ebp + 2]
add ecx, esi
mov dword [esp + 0x28], ecx
mov ecx, edx
sub ecx, eax
sar ecx, 3
cmp edi, ecx
jb 0x10052713
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1005270f
cmp dword [ecx], 0
jne 0x1005270f
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10052739
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10052729
sub ecx, 1
jne 0x10052739
shl esi, 0x10
jmp 0x10052739
mov ecx, esi
shr ecx, 0x1f
sub esi, ecx
add esi, 0x2000
sar esi, 0xe
mov edi, dword [esp + 0x38]
sub edx, eax
add edi, esi
sar edx, 3
lea esi, [ebp + 3]
cmp esi, edx
jb 0x10052761
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005275d
cmp dword [eax], 0
jne 0x1005275d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10052787
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x10052777
sub eax, 1
jne 0x10052787
shl ecx, 0x10
jmp 0x10052787
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x28]
add eax, ecx
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
cmp eax, 5
jne 0x10052814
mov eax, dword [esp + 0x14]
lea edx, [ebp + 4]
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, esi
sar eax, 3
cmp edx, eax
jb 0x100527d6
mov eax, dword [ebx + 4]
test eax, eax
je 0x100527c7
cmp dword [eax], 0
jne 0x100527c7
mov dword [eax], 0x82
mov ebp, dword [esp + 0x50]
xor ecx, ecx
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10052818
mov eax, dword [esi + edx*8 + 4]
mov ecx, dword [esi + edx*8]
sub eax, 1
je 0x100527f7
sub eax, 1
jne 0x10052807
mov ebp, dword [esp + 0x50]
shl ecx, 0x10
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10052818
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov ebp, dword [esp + 0x50]
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10052818
mov dword [esp + 0x1c], edi
mov byte [esp + 0x33], 1
push dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
lea ecx, [esp + 0x1dc]
mov edx, dword [esp + 0x38]
push esi
push edi
push dword [esp + 0x34]
push dword [esp + 0x48]
call fcn.1004d150
mov edi, dword [esp + 0x1c]
add ebp, 4
mov dword [esp + 0x3f14], esi
mov dword [esp + 0x3f18], edi
cmp ebp, dword [esp + 0x3c]
jb 0x10052401
mov esi, dword [esp + 0x14]
mov eax, dword [esi]
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1004e09c
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov esi, dword [esp + 0x18]
cmp edx, ecx
jae 0x1005288d
mov al, byte [edx]
inc edx
mov dword [esi + 0xc], edx
movzx esi, al
jmp 0x100528a6
mov eax, dword [esi]
test eax, eax
je 0x100528a4
cmp dword [eax], 0
jne 0x100528a4
mov dword [eax], 0x55
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor esi, esi
cmp edx, ecx
jae 0x100528bb
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x100528d2
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x100528d0
cmp dword [eax], 0
jne 0x100528d0
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [ebx + 0x10]
shl esi, 8
movsx edx, si
mov esi, dword [ebx + 0xc]
or edx, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
mov ecx, dword [esp + 0x18]
cmp esi, eax
jne 0x100528fa
mov esi, dword [esp + 0x14]
jmp 0x1004f394
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1004e098
cmp dl, 0xf6
ja 0x10052958
add esi, 0xffffff75
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x100529a8
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004e09c
cmp dword [eax], 0
jne 0x1004e09c
mov dword [eax], 0x82
jmp 0x1004e09c
mov eax, dword [esp + 0x28]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
cmp al, 0xfa
ja 0x100529c5
shl esi, 8
cmp edx, ecx
jae 0x10052985
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
add eax, 0xffff096c
add esi, eax
jmp 0x1005291a
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x1005299a
cmp dword [eax], 0
jne 0x1005299a
mov dword [eax], 0x55
xor eax, eax
mov eax, 0xffff096c
add esi, eax
jmp 0x1005291a
mov ecx, dword [esp + 0x18]
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1004e09c
cmp al, 0xfe
ja 0x10052a35
shl esi, 8
cmp edx, ecx
jae 0x100529e1
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x100529f8
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x100529f6
cmp dword [eax], 0
jne 0x100529f6
mov dword [eax], 0x55
xor eax, eax
mov ecx, dword [ebx + 0x10]
mov edx, 0xfa94
sub edx, eax
mov eax, dword [esp + 0x14]
sub edx, esi
mov esi, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp esi, eax
je 0x10052931
mov ecx, dword [esp + 0x18]
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov esi, dword [esp + 0x14]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x1004e09c
mov edi, dword [esp + 0x18]
cmp edx, ecx
jae 0x10052a48
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx esi, al
jmp 0x10052a61
mov eax, dword [edi]
test eax, eax
je 0x10052a5f
cmp dword [eax], 0
jne 0x10052a5f
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor esi, esi
cmp edx, ecx
jae 0x10052a70
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx ebp, al
jmp 0x10052a89
mov eax, dword [edi]
test eax, eax
je 0x10052a87
cmp dword [eax], 0
jne 0x10052a87
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor ebp, ebp
cmp edx, ecx
jae 0x10052a98
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx edi, al
jmp 0x10052ab1
mov eax, dword [edi]
test eax, eax
je 0x10052aaf
cmp dword [eax], 0
jne 0x10052aaf
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor edi, edi
cmp edx, ecx
jae 0x10052ac6
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10052add
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10052adb
cmp dword [eax], 0
jne 0x10052adb
mov dword [eax], 0x55
xor eax, eax
shl esi, 8
or esi, ebp
shl esi, 8
or esi, edi
shl esi, 8
or esi, eax
mov eax, dword [esp + 0x40]
cmp byte [eax + 8], 0
je 0x10052b6f
cmp esi, 0x7d00
jg 0x10052b0a
cmp esi, 0xffff8300
jge 0x10052b1f
mov ecx, dword [esp + 0x44]
test cl, cl
movzx eax, cl
mov ecx, 1
cmove eax, ecx
mov byte [esp + 0x44], al
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10052b61
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004e09c
cmp dword [eax], 0
jne 0x1004e09c
mov dword [eax], 0x82
jmp 0x1004e09c
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
jmp 0x10052bbd
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0x10]
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
lea eax, [eax + ecx*8]
cmp edx, eax
jne 0x10052bb1
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004e09c
cmp dword [eax], 0
jne 0x1004e09c
mov dword [eax], 0x82
jmp 0x1004e09c
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1004e09c
cmp dword [ecx - 4], 2
je 0x10052bfe
mov eax, dword [ebx + 4]
test eax, eax
je 0x10052bf4
cmp dword [eax], 0
jne 0x10052bf4
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x10052c0a
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
cmp ecx, edx
jne 0x10052c30
mov eax, dword [ebx + 4]
test eax, eax
je 0x10052c26
cmp dword [eax], 0
jne 0x10052c26
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x44], 0
jmp 0x10052c64
cmp dword [ecx - 4], 2
je 0x10052c58
mov eax, dword [ebx + 4]
test eax, eax
je 0x10052c4e
cmp dword [eax], 0
jne 0x10052c4e
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x44], 0
jmp 0x10052c64
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
cmp ecx, edx
jne 0x10052c84
mov eax, dword [ebx + 4]
test eax, eax
je 0x10052c80
cmp dword [eax], 0
jne 0x10052c80
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10052cae
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10052c9e
sub eax, 1
jne 0x10052cae
shl edi, 0x10
jmp 0x10052cae
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x10052cce
mov eax, dword [ebx + 4]
test eax, eax
je 0x10052cca
cmp dword [eax], 0
jne 0x10052cca
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x10052cf8
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10052ce8
sub eax, 1
jne 0x10052cf8
shl esi, 0x10
jmp 0x10052cf8
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x10052d12
mov eax, dword [ebx + 4]
test eax, eax
je 0x10052d0e
cmp dword [eax], 0
jne 0x10052d0e
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x10052d3c
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10052d2c
sub eax, 1
jne 0x10052d3c
shl ebp, 0x10
jmp 0x10052d3c
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f10], 0
je 0x10052d50
mov eax, 0x12
jmp 0x10053376
mov edx, dword [esp + 0x2c]
cmp byte [edx + 0x2f], 0
je 0x10052d64
mov eax, 0x12
jmp 0x10053376
cmp dword [edx + 0x244], 0
mov ecx, dword [esp + 0x58]
jne 0x10052d87
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x10052d87
mov eax, 0x12
jmp 0x10053376
mov eax, dword [edx + 0x20]
add esi, dword [eax]
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
je 0x10052d9e
mov eax, dword [esp + 0x28]
jmp 0x10052dc4
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
call fcn.10049c80
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
call fcn.10049c80
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x44], 0
jl 0x10052d46
test eax, eax
js 0x10052d46
cmp byte [edx + 0x2e], 0
je 0x10052e96
mov eax, dword [edx + 8]
mov edx, 2
mov dword [esp + 0x50], eax
mov eax, dword [eax + 0x9c]
mov eax, dword [eax]
mov ecx, eax
mov dword [esp + 0x58], eax
call fcn.10039e40
test eax, eax
jne 0x10053376
mov ecx, dword [esp + 0x58]
sub esi, ebp
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x28]
mov ecx, dword [ecx + 0x58]
mov dword [ecx], eax
mov eax, 0x202
mov word [ecx + 4], ax
mov eax, 2
mov word [ecx + 0x24], ax
mov eax, esi
shr eax, 0x1f
sub esi, eax
mov dword [ecx + 0x20], edx
mov edx, dword [esp + 0x58]
mov eax, edi
shr eax, 0x1f
add esi, 0x8000
sub edi, eax
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], 0
add edi, 0x8000
sar esi, 0x10
mov dword [ecx + 0x28], esi
sar edi, 0x10
mov dword [ecx + 0x2c], edi
mov ecx, dword [esp + 0x50]
mov dword [ecx + 0x80], 2
mov eax, dword [edx + 0x34]
mov dword [ecx + 0x84], eax
mov dword [ecx + 0x48], 0x636f6d70
mov dword [edx + 0x54], 2
mov eax, dword [esp + 0x78]
jmp 0x10053376
mov ecx, dword [edx + 0xc]
call fcn.10039f90
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1004bb50
test eax, eax
jne 0x10053376
mov edx, dword [esp + 0x2c]
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x24]
lea edx, [esp + 0x7c]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x60]
push eax
push 0
push 0
push 1
push dword [esp + 0x3f1c]
mov dword [esp + 0x80], ecx
push dword [esp + 0xac]
mov ecx, dword [esp + 0x58]
call fcn.1004db00
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x2c]
sub eax, ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
mov eax, dword [edx + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x10052f43
mov eax, dword [ecx]
lea edx, [esp + 0x50]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov edx, dword [esp + 0x2c]
cmp byte [esp + 0x27], 0
jne 0x10052f6a
mov eax, dword [edx + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x58], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x38], eax
mov eax, dword [edx + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [eax], 0
mov eax, dword [edx + 0x20]
mov edx, dword [esp + 0x28]
mov dword [eax + 4], 0
lea eax, [esp + 0x7c]
push eax
call fcn.1004bb50
test eax, eax
jne 0x10053376
mov ecx, dword [esp + 0x40]
lea eax, [esp + 0x60]
push eax
push edi
sub esi, ebp
lea edx, [esp + 0x84]
push esi
push 1
push dword [esp + 0x3f1c]
push dword [esp + 0xac]
call fcn.1004db00
mov ecx, dword [esp + 0x80]
mov eax, dword [esp + 0x84]
mov ebp, dword [esp + 0x2c]
sub eax, ecx
mov dword [esp + 0x54], eax
mov dword [esp + 0x50], ecx
mov eax, dword [ebp + 4]
mov eax, dword [eax + 0x80]
mov ecx, dword [eax + 0x34]
test ecx, ecx
je 0x10052ffa
mov eax, dword [ecx]
lea edx, [esp + 0x50]
mov ecx, dword [ecx + 4]
mov eax, dword [eax + 4]
call eax
mov eax, dword [ebp + 0x20]
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov eax, dword [ebp + 0x24]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x38]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x78]
jmp 0x10053376
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x10053038
cmp eax, 5
jne 0x1005308f
cmp byte [esp + 0x27], 0
jne 0x1005308f
test eax, eax
jne 0x10053059
mov eax, dword [ebx + 4]
test eax, eax
je 0x10053055
cmp dword [eax], 0
jne 0x10053055
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1005307d
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1005306d
sub eax, 1
jne 0x1005307d
shl ecx, 0x10
jmp 0x1005307d
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x90]
add eax, ecx
mov ecx, dword [esp + 0x3f1c]
mov dword [ecx], eax
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x10052e8d
cmp byte [esp + 0x2f68], 0
je 0x10053125
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.1004cfd0
cmp byte [esp + 0x2fb8], 0
je 0x10053105
push 1
push dword [esp + 0x2fa0]
lea eax, [esp + 0x2f98]
push dword [esp + 0x2fa0]
lea edx, [esp + 0x1ec]
push eax
lea ecx, [esp + 0x1e8]
call fcn.1004ca90
mov byte [esp + 0x2f6b], 1
mov byte [esp + 0x2f68], 0
mov byte [esp + 0x2f69], 0
mov byte [esp + 0x2fb8], 0
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne 0x10052e8d
cmp byte [eax + 8], 0
jne 0x10052e8d
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10052e8d
cmp byte [esp + 0x3f10], 0
je 0x10053167
mov eax, 0x12
jmp 0x10053376
cmp ecx, edx
jne 0x1005318d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10053183
cmp dword [eax], 0
jne 0x10053183
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x38], 0
jmp 0x100531c1
cmp dword [ecx - 4], 2
je 0x100531b5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100531ab
cmp dword [eax], 0
jne 0x100531ab
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x38], 0
jmp 0x100531c1
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
cmp ecx, edx
jne 0x100531e1
mov eax, dword [ebx + 4]
test eax, eax
je 0x100531dd
cmp dword [eax], 0
jne 0x100531dd
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1005320b
cmp dword [ecx - 4], 2
je 0x10053203
mov eax, dword [ebx + 4]
test eax, eax
je 0x100531ff
cmp dword [eax], 0
jne 0x100531ff
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1005320b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov ebp, dword [ecx]
cmp ecx, edx
jne 0x1005322b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10053227
cmp dword [eax], 0
jne 0x10053227
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10053255
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x10053245
sub eax, 1
jne 0x10053255
shl edi, 0x10
jmp 0x10053255
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1005326f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1005326b
cmp dword [eax], 0
jne 0x1005326b
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10053299
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x10053289
sub eax, 1
jne 0x10053299
shl esi, 0x10
jmp 0x10053299
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
mov edx, dword [esp + 0x38]
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.1004ba90
test eax, eax
jne 0x10053376
lea eax, [esp + 0x50]
push eax
push edi
mov edi, dword [esp + 0x48]
lea edx, [esp + 0x84]
push esi
push 1
push dword [esp + 0x3f1c]
mov ecx, edi
push dword [esp + 0xac]
call fcn.1004db00
mov eax, dword [esp + 0x84]
lea edx, [esp + 0x80]
mov esi, dword [esp + 0x2c]
sub eax, dword [esp + 0x80]
push eax
mov ecx, dword [esi + 4]
mov eax, dword [esi + 0x258]
call eax
lea eax, [esp + 0x7c]
mov edx, ebp
push eax
mov ecx, esi
call fcn.1004ba90
test eax, eax
jne 0x10053376
lea eax, [esp + 0x50]
mov ecx, edi
push eax
push 0
push 0
push 1
push dword [esp + 0x3f1c]
lea edx, [esp + 0x90]
push dword [esp + 0xac]
call fcn.1004db00
mov eax, dword [esp + 0x84]
lea edx, [esp + 0x80]
sub eax, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push eax
mov eax, dword [esi + 0x258]
call eax
mov eax, dword [esp + 0x78]
jmp 0x10053376
mov dword [ebx + 8], 0
mov eax, dword [edi + 8]
mov edx, ebx
mov ecx, edi
call eax
xor ebx, ebx
lea eax, [ebx + 0x40]
mov ecx, dword [esp + 0x68]
test ecx, ecx
je 0x10053385
cmp dword [ecx], 0
jne 0x10053385
mov dword [ecx], eax
mov edx, dword [esp + 0x2f50]
mov dword [esp + 0x2f40], 0
mov dword [esp + 0x2f48], 0
mov dword [esp + 0x2f4c], 0
test edx, edx
je 0x100533bf
mov eax, dword [esp + 0x2f34]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x2f50], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xdc], 0
test edx, edx
je 0x10053404
mov eax, dword [esp + 0xc4]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov edx, dword [esp + 0x100]
mov dword [esp + 0xe0], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
test edx, edx
je 0x10053449
mov eax, dword [esp + 0xe4]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x100], 0
test eax, eax
je 0x1005346c
mov edx, eax
mov eax, dword [esp + 0x104]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x10053490
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x10053480
mov eax, dword [edi + 8]
mov ecx, edi
call eax
mov dword [ebx + 8], 0
mov edx, ebx
mov eax, dword [edi + 8]
mov ecx, edi
call eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x3ef4
ret 0x18