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

Disassembly:
mov eax, 0x3ef4
call fcn.100ea030
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.100eae50
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.100eae50
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 [0x1012aff0]
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.100eae50
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.100eae50
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.100eae50
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 0x10045374
test esi, esi
jmp 0x10045378
mov esi, ebx
test ebx, ebx
jns 0x1004537c
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 0x100453ee
mov eax, dword [ecx + 0x214]
mov esi, dword [eax + 0x614]
jmp 0x100453f3
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 0x1004a831
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 0x1004a821
je 0x100454a9
cmp esi, 0xfffffff
jg 0x1004a821
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 0x10045496
mov edx, dword [esp + 0x94]
test edx, edx
jle 0x10045496
lea eax, [edx*8]
push eax
push 0
push esi
call fcn.100eae50
lea eax, [ebx + 8]
add esp, 0xc
mov dword [eax], esi
mov dword [esp + 0x14], eax
mov eax, esi
lea esi, [ebx + 8]
jmp 0x100454b4
mov dword [ebx + 8], eax
lea esi, [ebx + 8]
mov dword [esp + 0x14], esi
test ecx, ecx
je 0x100454b4
jmp 0x1004a828
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.10041ab0
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 0x1004a34d
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 0x1004555c
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 0x1004557c
cmp dword [esp + 0x64], 0
mov edx, 0xb
mov eax, 0xe
cmove edx, eax
mov dword [esp + 0x28], edx
jmp 0x100455af
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 0x10045596
cmp cl, 0xe
jne 0x100455ab
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 0x1004564a
test ah, ah
jne 0x100455f8
cmp dl, 1
je 0x100455f8
cmp dl, 3
je 0x100455f8
cmp dl, 0xd
je 0x100455f8
cmp dl, 0xa
je 0x100455f8
cmp dl, 0xb
je 0x100455f8
cmp dl, 0xc
je 0x100455f8
cmp dl, 0xe
je 0x100455f8
cmp dl, 0x20
jae 0x100455f8
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004555c
mov esi, dword [esp + 0x5c]
test esi, esi
jle 0x10045623
cmp dl, 0xa
je 0x10045623
cmp dl, 0xb
je 0x10045623
cmp dl, 0xc
je 0x10045623
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 0x1004564a
cmp dl, 0x20
jae 0x1004564a
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 0x1004a34d
sub dword [esp + 0x6c], 1
je 0x1004a206
movzx esi, dl
cmp esi, 0x1f
ja case.default.0x1004566e
jmp dword [esi*4 + 0x1004a960]
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1004566e.0
cmp byte [edx + 0x5d], 0
jne 0x1004a206
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x100456b9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100456aa
cmp dword [eax], 0
jne 0x100456aa
mov dword [eax], 0xa1
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004555c
cmp dword [eax - 4], 2
je 0x100456e0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100456d1
cmp dword [eax], 0
jne 0x100456d1
mov dword [eax], 0xa0
xor eax, eax
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004555c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x10045827
mov dword [edx + 0x78], eax
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004555c
mov edx, dword [esp + 0x40]
cmp byte [edx + 9], 0
je case.0x1004566e.0
cmp dword [edx + 0x60], 0
je 0x1004a206
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 0x1004575e
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 0x1004a34d
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [ecx]
jne 0x1004577f
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x1004577b
cmp dword [ecx], 0
jne 0x1004577b
mov dword [ecx], 0xa1
xor eax, eax
jmp 0x100457a3
cmp dword [eax - 4], 2
je 0x1004579b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045797
cmp dword [eax], 0
jne 0x10045797
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100457a3
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
cmp eax, dword [esp + 0x94]
ja 0x1004a206
push eax
mov edx, ebx
mov ecx, esi
call fcn.10044df0
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov byte [eax + 0x5d], 1
jmp 0x1004555c
test al, al
jne 0x100457e4
cmp byte [esp + 0xac], al
jne case.0x1004566e.0
xor eax, eax
jmp 0x100457ee
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.10044900
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x1004a34d
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov eax, dword [esi]
mov dword [ebx + 0xc], eax
jmp 0x1004555c
test al, al
jne 0x10045853
cmp byte [esp + 0xac], al
jne case.0x1004566e.0
xor eax, eax
push eax
lea eax, [esp + 0x2b]
push eax
lea eax, [esp + 0xcc]
jmp 0x100457fb
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 0x100457fb
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp eax, 1
jbe 0x100458bb
cmp byte [esp + 0x27], 0
jne 0x100458bb
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10045899
sub eax, 1
jne 0x100458a9
shl ecx, 0x10
jmp 0x100458a9
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 0x1004a34d
mov edx, dword [ebx + 0xc]
cmp edx, dword [esi]
jne 0x100458ee
mov eax, dword [ebx + 4]
test eax, eax
je 0x100458ea
cmp dword [eax], 0
jne 0x100458ea
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10045918
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10045908
sub eax, 1
jne 0x10045918
shl ecx, 0x10
jmp 0x10045918
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 0x10045823
cmp byte [esp + 0x2f68], 0
je 0x100459af
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10044490
cmp byte [esp + 0x2fb8], 0
je 0x10045997
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.10043f50
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 0x100459ea
cmp byte [eax + 5], 0
je 0x10045a0e
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.100435a0
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 0x1004555c
mov esi, dword [esp + 0x14]
xor edi, edi
mov ebp, dword [ebx + 0xc]
sub ebp, dword [esi]
sar ebp, 3
test ebp, ebp
je 0x10049880
nop
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp edi, eax
jb 0x10045a7b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045a77
cmp dword [eax], 0
jne 0x10045a77
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
xor esi, esi
jmp 0x10045aa1
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x10045a91
sub eax, 1
jne 0x10045aa1
shl esi, 0x10
jmp 0x10045aa1
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 0x10045ad2
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045ace
cmp dword [eax], 0
jne 0x10045ace
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10045af9
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10045ae9
sub eax, 1
jne 0x10045af9
shl ecx, 0x10
jmp 0x10045af9
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.10044490
mov esi, dword [esp + 0x14]
add edi, 2
cmp edi, ebp
jb 0x10045a50
jmp 0x1004987c
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 0x10045be5
nop dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp esi, eax
jb 0x10045b74
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045b70
cmp dword [eax], 0
jne 0x10045b70
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10045b9a
mov eax, dword [ecx + esi*8 + 4]
mov ecx, dword [ecx + esi*8]
sub eax, 1
je 0x10045b8a
sub eax, 1
jne 0x10045b9a
shl ecx, 0x10
jmp 0x10045b9a
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov eax, dword [esp + 0x1c]
test dl, dl
je 0x10045bad
add ebp, ecx
mov dword [esp + 0x3f14], ebp
jmp 0x10045bba
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.10044490
mov dl, byte [esp + 0x33]
inc esi
mov eax, dword [esp + 0x14]
cmp esi, edi
jb 0x10045b50
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 0x1004555c
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 0x10045e8c
lea edi, [ebp + 2]
jmp 0x10045c24
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 0x10045c4f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045c4b
cmp dword [eax], 0
jne 0x10045c4b
mov dword [eax], 0x82
mov esi, dword [ebx + 0xc]
mov edx, dword [ecx]
xor ecx, ecx
jmp 0x10045c76
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x10045c66
sub eax, 1
jne 0x10045c76
shl ecx, 0x10
jmp 0x10045c76
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 0x10045cad
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045ca9
cmp dword [eax], 0
jne 0x10045ca9
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10045cd4
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x10045cc4
sub eax, 1
jne 0x10045cd4
shl ecx, 0x10
jmp 0x10045cd4
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 0x10045d08
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045d04
cmp dword [eax], 0
jne 0x10045d04
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10045d2e
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x10045d1e
sub eax, 1
jne 0x10045d2e
shl ecx, 0x10
jmp 0x10045d2e
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 0x10045d65
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045d61
cmp dword [eax], 0
jne 0x10045d61
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10045d8c
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x10045d7c
sub eax, 1
jne 0x10045d8c
shl ecx, 0x10
jmp 0x10045d8c
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 0x10045dbb
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045db7
cmp dword [eax], 0
jne 0x10045db7
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10045de2
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x10045dd2
sub eax, 1
jne 0x10045de2
shl ecx, 0x10
jmp 0x10045de2
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 0x10045e0e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045e0a
cmp dword [eax], 0
jne 0x10045e0a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10045e35
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x10045e25
sub eax, 1
jne 0x10045e35
shl ecx, 0x10
jmp 0x10045e35
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.10044610
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 0x10045c20
mov edx, dword [esp + 0x28]
cmp dl, 0x18
jne 0x10045f7e
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 0x10045ec5
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045ec1
cmp dword [eax], 0
jne 0x10045ec1
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x10045eeb
mov eax, dword [esi + ebp*8 + 4]
mov edx, dword [esi + ebp*8]
sub eax, 1
je 0x10045edb
sub eax, 1
jne 0x10045eeb
shl edx, 0x10
jmp 0x10045eeb
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 0x10045f1e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10045f1a
cmp dword [eax], 0
jne 0x10045f1a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10045f44
mov ecx, dword [esi + eax*8]
mov eax, dword [esi + eax*8 + 4]
sub eax, 1
je 0x10045f34
sub eax, 1
jne 0x10045f44
shl ecx, 0x10
jmp 0x10045f44
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.10044490
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 0x1004555c
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 0x1004555c
test al, al
je case.0x1004566e.0
cmp byte [esp + 0x2f68], 0
je 0x10046021
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10044490
cmp byte [esp + 0x2fb8], 0
je 0x10046001
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.10043f50
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 0x1004555c
mov eax, dword [esp + 0x64]
cmp eax, 0x10
jg 0x1004a206
inc eax
cmp eax, dword [esp + 0xa4]
jb 0x10046067
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x10046065
cmp dword [eax], 0
jne 0x10046065
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 0x1004609a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046096
cmp dword [eax], 0
jne 0x10046096
mov dword [eax], 0xa1
xor eax, eax
jmp 0x100460be
cmp dword [eax - 4], 2
je 0x100460b6
mov eax, dword [ebx + 4]
test eax, eax
je 0x100460b2
cmp dword [eax], 0
jne 0x100460b2
mov dword [eax], 0xa0
xor eax, eax
jmp 0x100460be
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 0x100460f9
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x268]
test ecx, ecx
je 0x100460f5
push eax
call fcn.100315e0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x100460f0
mov eax, dword [eax]
jmp 0x100460f9
or eax, 0xffffffff
jmp 0x100460f9
mov ecx, dword [esp + 0x18]
xorps xmm0, xmm0
movups xmmword [ecx], xmm0
cmp dl, 0x1d
je 0x100461bb
mov ecx, dword [esp + 0x2c]
mov ecx, dword [ecx + 0x234]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, dword [eax + 0x22c]
jae 0x1004a206
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 0x1004618e
mov eax, dword [eax + 0x264]
test eax, eax
je 0x10046166
test ecx, ecx
je 0x1004615e
mov eax, dword [eax + edx]
add eax, ecx
mov ecx, dword [esp + 0x18]
jmp 0x1004619c
mov ecx, dword [esp + 0x18]
xor eax, eax
jmp 0x1004619c
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 0x10046192
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 0x1004555c
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx + 0x238]
add ecx, eax
cmp ecx, dword [edx + 0x230]
jae 0x1004a206
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 0x1004555c
mov edx, dword [esp + 0x64]
cmp edx, 1
jl 0x1004a206
dec edx
mov eax, edx
mov dword [esp + 0x64], edx
cmp edx, dword [esp + 0xa4]
jb 0x10046237
mov edx, dword [esp + 0xa0]
test edx, edx
je 0x10046235
cmp dword [edx], 0
jne 0x10046235
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 0x10045558
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 8]
jae 0x1004625e
mov dl, byte [eax]
inc eax
mov dword [ecx + 0xc], eax
jmp 0x10046271
mov eax, dword [ecx]
test eax, eax
je 0x1004626f
cmp dword [eax], 0
jne 0x1004626f
mov dword [eax], 0x55
xor dl, dl
movzx ecx, dl
mov byte [esp + 0x33], dl
lea eax, [ecx - 8]
cmp eax, 0x1d
ja case.0x1004628b.9
movzx eax, byte [eax + 0x1004a9f8]
jmp dword [eax*4 + 0x1004a9e0]
push 0
push 0x101209d0
jmp 0x100462f8
push 0
push 0x10120870
lea eax, [esp + 0x1e0]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f24]
push eax
lea edx, [esp + 0x3f24]
call fcn.10044b20
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 0x1004555c
push 0
push 0x101209fc
jmp 0x100462f8
push 1
push 0x10120b94
lea eax, [esp + 0x1e0]
mov ecx, ebx
push eax
lea eax, [esp + 0x3f24]
push eax
lea edx, [esp + 0x3f24]
call fcn.10044b20
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 0x1004555c
mov eax, dword [esp + 0x40]
cmp byte [eax + 9], 0
jne case.0x10046386.0
cmp dl, 0x26
jae case.0x10046386.0
mov al, byte [eax + 8]
test al, al
je 0x1004637d
cmp dword [esp + 0x5c], 0
jle 0x1004637d
cmp dl, 0x11
je 0x1004637d
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 0x1004555c
cmp ecx, 0x21
ja case.0x10046386.0
jmp dword [ecx*4 + 0x1004aa18]
test al, al
je case.0x10046386.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 0x100463c5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100463c1
cmp dword [eax], 0
jne 0x100463c1
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x100463e9
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x100463d9
sub eax, 1
jne 0x100463e9
shl ebp, 0x10
jmp 0x100463e9
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 0x10046417
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004640d
cmp dword [eax], 0
jne 0x1004640d
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x10046444
mov eax, dword [ecx + 0x14]
mov esi, dword [ecx + 0x10]
mov dword [esp + 0x28], esi
sub eax, 1
je 0x10046430
sub eax, 1
jne 0x10046444
shl esi, 0x10
jmp 0x10046440
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 0x1004646c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046468
cmp dword [eax], 0
jne 0x10046468
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x10046491
mov eax, dword [ecx + 0x24]
mov edi, dword [ecx + 0x20]
sub eax, 1
je 0x10046481
sub eax, 1
jne 0x10046491
shl edi, 0x10
jmp 0x10046491
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 0x100464b9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100464b5
cmp dword [eax], 0
jne 0x100464b5
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x100464de
mov eax, dword [ecx + 0xc]
mov esi, dword [ecx + 8]
sub eax, 1
je 0x100464ce
sub eax, 1
jne 0x100464de
shl esi, 0x10
jmp 0x100464de
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 0x100464fc
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046514
cmp dword [eax], 0
jne 0x10046514
mov dword [eax], 0x82
jmp 0x10046514
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 0x10046545
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046541
cmp dword [eax], 0
jne 0x10046541
mov dword [eax], 0x82
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x1004656a
mov eax, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
sub eax, 1
je 0x1004655a
sub eax, 1
jne 0x1004656a
shl edx, 0x10
jmp 0x1004656a
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 0x1004658c
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x100465a2
cmp dword [eax], 0
jne 0x100465a2
mov dword [eax], 0x82
jmp 0x100465a2
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 0x100465b4
mov eax, dword [eax]
jmp 0x100465b7
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.10044900
cmp byte [ebp + 0x224], 0
jne 0x1004a34d
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 0x1004555c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1004662d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046629
cmp dword [eax], 0
jne 0x10046629
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10046659
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 0x10046649
sub eax, 1
jne 0x10046659
shl edi, 0x10
jmp 0x10046659
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x100466b4
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046675
cmp dword [eax], 0
jne 0x10046675
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 0x100467d0
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004555c
cmp dword [eax], 0
mov edi, dword [esp + 0x1c]
jne 0x1004555c
mov dword [eax], 0x82
jmp 0x1004555c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x100466ce
sub eax, 1
jne 0x100466de
shl esi, 0x10
jmp 0x100466de
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
je 0x10046675
test edi, edi
je 0x10046675
mov esi, 1
jmp 0x10046677
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10046716
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046712
cmp dword [eax], 0
jne 0x10046712
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10046742
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 0x10046732
sub eax, 1
jne 0x10046742
shl edi, 0x10
jmp 0x10046742
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x10046760
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004678e
cmp dword [eax], 0
jne 0x1004678e
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
jmp 0x1004678e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1004677a
sub eax, 1
jne 0x1004678a
shl esi, 0x10
jmp 0x1004678a
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
test esi, esi
jne 0x10046796
test edi, edi
jne 0x10046796
xor esi, esi
jmp 0x1004679b
mov esi, 1
mov eax, dword [ebx + 0x10]
mov edi, dword [esp + 0x1c]
lea eax, [edx + eax*8]
cmp ecx, eax
jne 0x100467d0
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004555c
cmp dword [eax], 0
jne 0x1004555c
mov dword [eax], 0x82
jmp 0x1004555c
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 0x1004555c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x10046816
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046812
cmp dword [eax], 0
jne 0x10046812
mov dword [eax], 0xa1
mov esi, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edx, edx
jmp 0x10046842
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 0x10046832
sub eax, 1
jne 0x10046842
shl edx, 0x10
jmp 0x10046842
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 0x1004687b
mov ecx, dword [esp + 0x18]
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004555c
cmp dword [eax], 0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jne 0x1004555c
mov dword [eax], 0x82
jmp 0x1004555c
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 0x1004555c
test al, al
je case.0x10046386.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 0x1004a096
mov eax, dword [ebx + 4]
test eax, eax
je 0x100468d4
cmp dword [eax], 0
jne 0x100468d4
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1004a0ca
mov esi, dword [esp + 0x14]
test al, al
je 0x10045823
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x1004690a
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046906
cmp dword [eax], 0
jne 0x10046906
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10046934
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10046924
sub eax, 1
jne 0x10046934
shl ecx, 0x10
jmp 0x10046934
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 0x1004695b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046957
cmp dword [eax], 0
jne 0x10046957
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10046985
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10046975
sub eax, 1
jne 0x10046985
shl ecx, 0x10
jmp 0x10046985
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 0x100469b3
mov eax, dword [ebx + 4]
test eax, eax
je 0x100469af
cmp dword [eax], 0
jne 0x100469af
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x100469dd
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x100469cd
sub eax, 1
jne 0x100469dd
shl edx, 0x10
jmp 0x100469dd
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x100469f7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100469f3
cmp dword [eax], 0
jne 0x100469f3
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10046a21
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x10046a11
sub eax, 1
jne 0x10046a21
shl ecx, 0x10
jmp 0x10046a21
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 0x1004a34d
cmp byte [esp + 0x32], 0
mov esi, dword [esp + 0x14]
je 0x10045823
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 0x1004555c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x10046aed
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046a93
cmp dword [eax], 0
jne 0x10046a93
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 0x100481d9
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004555c
cmp dword [eax], 0
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jne 0x1004555c
mov dword [eax], 0x82
jmp 0x1004555c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10046b07
sub eax, 1
jne 0x10046b17
shl ecx, 0x10
jmp 0x10046b17
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 0x10046a9e
lea eax, [edi*8]
add eax, ebp
cmp esi, eax
jne 0x10046b68
mov eax, dword [ebx + 4]
test eax, eax
je 0x100486c9
cmp dword [eax], 0
mov esi, dword [esp + 0x14]
jne 0x100486cd
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1004555c
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 0x1004555c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10046bba
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046bb6
cmp dword [eax], 0
jne 0x10046bb6
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10046be6
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 0x10046bd6
sub eax, 1
jne 0x10046be6
shl edi, 0x10
jmp 0x10046be6
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x10046c06
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046c02
cmp dword [eax], 0
jne 0x10046c02
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10046c30
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10046c20
sub eax, 1
jne 0x10046c30
shl esi, 0x10
jmp 0x10046c30
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 0x10046c43
mov edi, dword [esp + 0x1c]
jmp 0x10046689
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 0x1004555c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10046c90
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046c8c
cmp dword [eax], 0
jne 0x10046c8c
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10046cbc
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 0x10046cac
sub eax, 1
jne 0x10046cbc
shl edi, 0x10
jmp 0x10046cbc
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x10046cdc
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046cd8
cmp dword [eax], 0
jne 0x10046cd8
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10046d06
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10046cf6
sub eax, 1
jne 0x10046d06
shl esi, 0x10
jmp 0x10046d06
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 0x10046d19
mov edi, dword [esp + 0x1c]
jmp 0x10046689
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 0x1004555c
test al, al
je 0x10046df5
cmp byte [esp + 0x44], 0
je 0x10046df5
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x10046d75
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046d71
cmp dword [eax], 0
jne 0x10046d71
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10046d9c
cmp dword [eax - 4], 2
je 0x10046d94
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046d90
cmp dword [eax], 0
jne 0x10046d90
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x10046d9c
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x10046dc0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046db5
cmp dword [eax], 0
jne 0x10046db5
mov dword [eax], 0xa1
xor ecx, ecx
mov byte [esp + 0x44], cl
jmp 0x10046e8c
cmp dword [eax - 4], 2
je 0x10046de3
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046dd8
cmp dword [eax], 0
jne 0x10046dd8
mov dword [eax], 0xa0
xor ecx, ecx
mov byte [esp + 0x44], cl
jmp 0x10046e8c
add eax, 0xfffffff8
mov byte [esp + 0x44], 0
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
jmp 0x10046e8c
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov esi, dword [eax]
cmp ecx, esi
jne 0x10046e1e
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046e1a
cmp dword [eax], 0
jne 0x10046e1a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x10046e48
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10046e38
sub eax, 1
jne 0x10046e48
shl edx, 0x10
jmp 0x10046e48
mov eax, edx
shr eax, 0x1f
sub edx, eax
add edx, 0x2000
sar edx, 0xe
cmp ecx, esi
jne 0x10046e62
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046e5e
cmp dword [eax], 0
jne 0x10046e5e
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10046e8c
lea esi, [ecx - 8]
mov dword [ebx + 0xc], esi
mov eax, dword [esi + 4]
mov ecx, dword [esi]
sub eax, 1
je 0x10046e7c
sub eax, 1
jne 0x10046e8c
shl ecx, 0x10
jmp 0x10046e8c
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
call fcn.10030710
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 0x100481d9
mov esi, dword [esp + 0x14]
jmp 0x10046850
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [eax]
jne 0x10046f03
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046ece
cmp dword [eax], 0
jne 0x10046ece
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 0x10046850
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 0x1004555c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10046f1d
sub eax, 1
jne 0x10046f2d
shl ecx, 0x10
jmp 0x10046f2d
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 0x10046ed9
lea eax, [esi + eax*8]
cmp edx, eax
jne 0x10046f6c
mov eax, dword [ebx + 4]
test eax, eax
je 0x100486c9
mov esi, dword [esp + 0x14]
cmp dword [eax], 0
jne 0x100486cd
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
jmp 0x1004555c
mov dword [edx], 0x7fffffff
jmp 0x10048543
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10046fa0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046f9c
cmp dword [eax], 0
jne 0x10046f9c
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10046fcc
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 0x10046fbc
sub eax, 1
jne 0x10046fcc
shl edi, 0x10
jmp 0x10046fcc
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x10046fec
mov eax, dword [ebx + 4]
test eax, eax
je 0x10046fe8
cmp dword [eax], 0
jne 0x10046fe8
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10047016
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10047006
sub eax, 1
jne 0x10047016
shl esi, 0x10
jmp 0x10047016
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 0x10047029
mov edi, dword [esp + 0x1c]
jmp 0x10046689
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 0x1004555c
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test al, al
je 0x1004555c
mov eax, dword [ebx + 0xc]
mov ecx, esi
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x10047085
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047081
cmp dword [eax], 0
jne 0x10047081
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x100470ac
cmp dword [eax - 4], 2
je 0x100470a4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100470a0
cmp dword [eax], 0
jne 0x100470a0
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x100470ac
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x100470cc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100470c8
cmp dword [eax], 0
jne 0x100470c8
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x100470f3
cmp dword [eax - 4], 2
je 0x100470eb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100470e7
cmp dword [eax], 0
jne 0x100470e7
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x100470f3
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.0x10047121.4
movzx eax, byte [esi + 0x1004aae0]
jmp dword [eax*4 + 0x1004aaa0]
cmp edi, 3
jne 0x1004a206
cmp byte [esp + 0x32], 0
je 0x10047156
mov eax, dword [esp + 0x2c]
cmp dword [eax + 0x1d4], 0
je 0x1004a206
cmp dword [eax + 0x1d8], 7
jne 0x1004a206
mov eax, dword [ebx + 0x10]
lea eax, [ecx + eax*8]
cmp edx, eax
jne 0x1004717b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047175
cmp dword [eax], 0
jne 0x10047175
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ebp, dword [esp + 0x20]
jmp 0x10047192
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 0x100471c9
mov eax, dword [ebx + 4]
test eax, eax
je 0x100471d9
cmp dword [eax], 0
jne 0x100471d9
mov ecx, dword [esp + 0x18]
mov dword [eax], 0x82
mov dword [esp + 0x4c], 2
jmp 0x1004555c
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 0x1004555c
test edi, edi
jne 0x1004a206
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 0x1004555c
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 0x1004723a
push 0
mov edx, 6
call fcn.10030de0
test eax, eax
jne 0x1004a34d
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 0x1004555c
test edi, edi
jne 0x1004a206
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 0x1004555c
mov edx, dword [esp + 0x2c]
cmp dword [edx + 0x1d4], 0
je 0x1004a206
mov esi, dword [edx + 0x1d8]
lea eax, [esi + 1]
mov dword [edx + 0x1d8], eax
lea eax, [esi - 1]
cmp eax, 5
ja 0x100486c9
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 0x100472dd
push 0
mov edx, 1
call fcn.10030de0
test eax, eax
jne 0x1004a206
lea eax, [esi - 3]
cmp esi, 3
jg 0x100472e7
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 0x1004730d
cmp esi, 6
jne 0x100486c9
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.10044610
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1004555c
cmp edi, 1
jne 0x1004a206
cmp byte [esp + 0x32], 0
je 0x100473b0
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 0x1004555c
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 0x1004555c
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 0x284]
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x1004a206
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 0x1004a206
lea edi, [edx + ebp]
test edx, edx
je 0x1004755e
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 0x10047458
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047454
cmp dword [eax], 0
jne 0x10047454
mov dword [eax], 0x82
xor esi, esi
jmp 0x1004747e
mov eax, dword [esi + ebp*8 + 4]
mov esi, dword [esi + ebp*8]
sub eax, 1
je 0x1004746e
sub eax, 1
jne 0x1004747e
shl esi, 0x10
jmp 0x1004747e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp dword [ecx], 1
jbe 0x10047511
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 0x100474bc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100474b8
cmp dword [eax], 0
jne 0x100474b8
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100474e2
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x100474d2
sub eax, 1
jne 0x100474e2
shl ecx, 0x10
jmp 0x100474e2
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.10028160
mov ecx, dword [esp + 0x3c]
inc ebp
add dword [esp + 0x34], 4
add esi, eax
inc edi
cmp ebp, dword [ecx]
jb 0x10047494
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 0x10047537
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047548
cmp dword [eax], 0
jne 0x10047548
mov dword [eax], 0x82
jmp 0x10047548
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 0x10047430
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 0x100475a3
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049885
cmp dword [eax], 0
jne 0x10049885
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [eax], 0xa1
jmp 0x1004555c
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 0x1004555c
mov ebp, dword [esp + 0x2c]
mov esi, dword [ebp + 0x284]
cmp edi, 1
jne 0x1004a206
test esi, esi
je 0x1004a206
cmp edx, ecx
jne 0x100475f5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100475f1
cmp dword [eax], 0
jne 0x100475f1
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10047621
cmp dword [edx - 4], 2
je 0x10047611
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004760d
cmp dword [eax], 0
jne 0x1004760d
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10047621
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1004a206
mov edx, dword [esi]
lea eax, [edx + ecx]
cmp eax, dword [ebp + 0x28c]
ja 0x1004a206
lea eax, [edx*4]
push eax
mov eax, dword [ebp + 0x288]
push dword [esi + 0x88]
lea eax, [eax + ecx*4]
push eax
call fcn.100ea8d0
mov esi, dword [esp + 0x20]
add esp, 0xc
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1004555c
cmp edi, 2
jne 0x1004a206
cmp edx, ecx
jne 0x10047690
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004768c
cmp dword [eax], 0
jne 0x1004768c
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x100476bc
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 0x100476ac
sub eax, 1
jne 0x100476bc
shl edi, 0x10
jmp 0x100476bc
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x100476dc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100476d8
cmp dword [eax], 0
jne 0x100476d8
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10047706
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x100476f6
sub eax, 1
jne 0x10047706
shl esi, 0x10
jmp 0x10047706
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 0x1004773f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047752
cmp dword [eax], 0
jne 0x10047752
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 0x1004555c
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 0x1004555c
cmp edi, 2
jne 0x1004a206
cmp edx, ecx
jne 0x10047798
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047794
cmp dword [eax], 0
jne 0x10047794
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x100477c4
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 0x100477b4
sub eax, 1
jne 0x100477c4
shl edi, 0x10
jmp 0x100477c4
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x100477e4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100477e0
cmp dword [eax], 0
jne 0x100477e0
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x1004780e
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x100477fe
sub eax, 1
jne 0x1004780e
shl esi, 0x10
jmp 0x1004780e
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 0x10047837
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047752
cmp dword [eax], 0
jne 0x10047752
mov dword [eax], 0x82
jmp 0x10047752
sub esi, edi
mov dword [edx], esi
jmp 0x10047744
cmp edi, 2
jne 0x1004a206
cmp edx, ecx
jne 0x10047869
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047865
cmp dword [eax], 0
jne 0x10047865
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x10047895
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 0x10047885
sub eax, 1
jne 0x10047895
shl esi, 0x10
jmp 0x10047895
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x100478af
mov eax, dword [ebx + 4]
test eax, eax
je 0x100478ab
cmp dword [eax], 0
jne 0x100478ab
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100478d9
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100478c9
sub eax, 1
jne 0x100478d9
shl ecx, 0x10
jmp 0x100478d9
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.10028160
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 0x10047912
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047752
cmp dword [eax], 0
jne 0x10047752
mov dword [eax], 0x82
jmp 0x10047752
mov dword [esi], eax
jmp 0x10047744
cmp edi, 2
jne 0x1004a206
cmp edx, ecx
jne 0x10047942
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004793e
cmp dword [eax], 0
jne 0x1004793e
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x1004796e
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 0x1004795e
sub eax, 1
jne 0x1004796e
shl esi, 0x10
jmp 0x1004796e
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x10047988
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047984
cmp dword [eax], 0
jne 0x10047984
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100479b2
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100479a2
sub eax, 1
jne 0x100479b2
shl ecx, 0x10
jmp 0x100479b2
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
test esi, esi
je 0x1004a206
mov edx, esi
call fcn.10030710
jmp 0x100478e0
cmp edi, 2
jne 0x1004a206
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1004a206
cmp edx, ecx
jne 0x100479fa
mov eax, dword [ebx + 4]
test eax, eax
je 0x100479f6
cmp dword [eax], 0
jne 0x100479f6
mov dword [eax], 0xa1
xor esi, esi
jmp 0x10047a26
cmp dword [edx - 4], 2
je 0x10047a16
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047a12
cmp dword [eax], 0
jne 0x10047a12
mov dword [eax], 0xa0
xor esi, esi
jmp 0x10047a26
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
test esi, esi
js 0x1004a206
cmp esi, dword [ebp + 0x28c]
jae 0x1004a206
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
cmp edx, dword [eax]
jne 0x10047a6f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047a4f
cmp dword [eax], 0
jne 0x10047a4f
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 0x1004555c
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10047aa5
sub eax, 1
jne 0x10047ab5
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 0x1004555c
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 0x1004555c
cmp edi, 1
jne 0x1004a206
mov ebp, dword [esp + 0x2c]
cmp dword [ebp + 0x284], 0
je 0x1004a206
cmp edx, ecx
jne 0x10047b07
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047b03
cmp dword [eax], 0
jne 0x10047b03
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10047b33
cmp dword [edx - 4], 2
je 0x10047b23
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047b1f
cmp dword [eax], 0
jne 0x10047b1f
mov dword [eax], 0xa0
xor ecx, ecx
jmp 0x10047b33
lea eax, [edx - 8]
mov dword [ebx + 0xc], eax
mov ecx, dword [eax]
test ecx, ecx
js 0x1004a206
cmp ecx, dword [ebp + 0x28c]
jae 0x1004a206
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 0x10047839
jmp 0x100478f3
cmp edi, 4
jne 0x1004a206
cmp edx, ecx
jne 0x10047b93
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047b89
cmp dword [eax], 0
jne 0x10047b89
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x10047bcf
lea eax, [edx - 8]
mov edx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x10047bb9
sub eax, 1
mov eax, dword [edx]
je 0x10047bb0
mov dword [esp + 0x28], eax
jmp 0x10047bcf
shl eax, 0x10
mov dword [esp + 0x28], eax
jmp 0x10047bcf
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 0x10047bef
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047beb
cmp dword [eax], 0
jne 0x10047beb
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor ebp, ebp
jmp 0x10047c19
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ebp, dword [edx]
sub eax, 1
je 0x10047c09
sub eax, 1
jne 0x10047c19
shl ebp, 0x10
jmp 0x10047c19
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp edx, ecx
jne 0x10047c39
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047c35
cmp dword [eax], 0
jne 0x10047c35
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x10047c63
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10047c53
sub eax, 1
jne 0x10047c63
shl esi, 0x10
jmp 0x10047c63
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp edx, ecx
jne 0x10047c83
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047c7f
cmp dword [eax], 0
jne 0x10047c7f
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor edi, edi
jmp 0x10047cad
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov edi, dword [edx]
sub eax, 1
je 0x10047c9d
sub eax, 1
jne 0x10047cad
shl edi, 0x10
jmp 0x10047cad
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 0x100478f3
cmp ebp, dword [esp + 0x28]
cmovle esi, edi
mov dword [edx], esi
jmp 0x10047744
test edi, edi
jne 0x1004a206
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 0x10047b48
mov ebp, dword [esp + 0x28]
test ebp, ebp
js 0x1004a206
test esi, esi
js 0x1004a206
cmp ebp, 3
jle 0x10047d29
mov ebp, 3
mov dword [esp + 0x5c], ebp
jmp 0x10047d3a
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x5c], ebp
cmp ebp, 1
jl 0x10045550
lea edi, [esp + ebp*4 + 0x78]
nop
cmp edx, ecx
jne 0x10047d63
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047d5f
cmp dword [eax], 0
jne 0x10047d5f
mov dword [eax], 0xa1
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x10047d8d
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10047d7d
sub eax, 1
jne 0x10047d8d
shl esi, 0x10
jmp 0x10047d8d
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 0x10047d40
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1004555c
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test al, al
je 0x1004555c
mov edx, dword [esp + 0x4c]
test edx, edx
jle 0x10047dce
dec edx
mov dword [esp + 0x4c], edx
jmp 0x1004555c
mov eax, dword [esp + 0x5c]
test eax, eax
je 0x1004a206
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 0x1004846f
mov esi, dword [esp + 0x14]
jmp 0x10046850
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x10047e31
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004555c
cmp dword [eax], 0
jne 0x1004555c
mov dword [eax], 0xa1
jmp 0x1004555c
mov ecx, dword [esp + 0x18]
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
jmp 0x1004555c
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x10047e66
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047e62
cmp dword [eax], 0
jne 0x10047e62
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x10047e8d
cmp dword [eax - 4], 2
je 0x10047e85
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047e81
cmp dword [eax], 0
jne 0x10047e81
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor esi, esi
jmp 0x10047e8d
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov edx, dword [ebx + 0xc]
cmp edx, ecx
jne 0x10047eaa
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047ea6
cmp dword [eax], 0
jne 0x10047ea6
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10047ed4
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10047ec4
sub eax, 1
jne 0x10047ed4
shl ecx, 0x10
jmp 0x10047ed4
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
cmp esi, 0x1f
ja 0x10045554
mov dword [esp + esi*4 + 0x158], ecx
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x1004555c
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
cmp eax, dword [esi]
jne 0x10047f1c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047f0e
cmp dword [eax], 0
jne 0x10047f0e
mov dword [eax], 0xa1
xor eax, eax
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x10047de3
cmp dword [eax - 4], 2
je 0x10047f42
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047f34
cmp dword [eax], 0
jne 0x10047f34
mov dword [eax], 0xa0
xor eax, eax
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x10047de3
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov eax, dword [eax]
test eax, eax
js 0x100486cd
cmp eax, 0x20
jge 0x100486cd
mov esi, dword [esp + eax*4 + 0x158]
jmp 0x10047de3
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10047f96
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047f8c
cmp dword [eax], 0
jne 0x10047f8c
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x10047fd2
lea eax, [ecx - 8]
mov ecx, eax
mov dword [ebx + 0xc], eax
mov eax, dword [eax + 4]
sub eax, 1
je 0x10047fbc
sub eax, 1
mov eax, dword [ecx]
je 0x10047fb3
mov dword [esp + 0x28], eax
jmp 0x10047fd2
shl eax, 0x10
mov dword [esp + 0x28], eax
jmp 0x10047fd2
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 0x10047ff2
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047fee
cmp dword [eax], 0
jne 0x10047fee
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1004801c
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ebp, dword [ecx]
sub eax, 1
je 0x1004800c
sub eax, 1
jne 0x1004801c
shl ebp, 0x10
jmp 0x1004801c
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp ecx, edx
jne 0x1004803c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048038
cmp dword [eax], 0
jne 0x10048038
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x10048066
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x10048056
sub eax, 1
jne 0x10048066
shl esi, 0x10
jmp 0x10048066
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x10048086
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048082
cmp dword [eax], 0
jne 0x10048082
mov dword [eax], 0xa1
mov edx, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
xor edi, edi
jmp 0x100480b0
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x100480a0
sub eax, 1
jne 0x100480b0
shl edi, 0x10
jmp 0x100480b0
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 0x100480c7
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x10046abe
cmp ebp, dword [esp + 0x28]
cmovle esi, edi
mov dword [ecx], esi
jmp 0x10046b6e
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 0x10046f45
mov dword [edx], esi
jmp 0x10048543
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x1004814b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048147
cmp dword [eax], 0
jne 0x10048147
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x10048177
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 0x10048167
sub eax, 1
jne 0x10048177
shl esi, 0x10
jmp 0x10048177
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x10048191
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004818d
cmp dword [eax], 0
jne 0x1004818d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100481bb
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100481ab
sub eax, 1
jne 0x100481bb
shl ecx, 0x10
jmp 0x100481bb
mov eax, ecx
shr eax, 0x1f
sub ecx, eax
add ecx, 0x2000
sar ecx, 0xe
mov edx, esi
call fcn.10028160
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 0x10046f45
mov dword [esi], eax
jmp 0x10048543
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
mov dword [esp + 0x3c], edx
cmp ecx, edx
jne 0x10048244
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048203
cmp dword [eax], 0
jne 0x10048203
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 0x100482d3
mov eax, dword [ebx + 4]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004555c
cmp dword [eax], 0
jne 0x1004555c
mov dword [eax], 0x82
jmp 0x1004555c
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 0x10048262
sub eax, 1
jne 0x1004827a
shl ebp, 0x10
jmp 0x10048272
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 0x10048209
mov eax, ebp
mov esi, ebp
sar eax, 1
mov ecx, ebp
cmp ebp, 0xa
cmovge esi, eax
mov edx, esi
call fcn.10030710
lea edi, [esi + 1]
add edi, eax
sar edi, 1
cmp edi, esi
je 0x100482c2
nop
mov edx, edi
mov ecx, ebp
mov esi, edi
call fcn.10030710
inc edi
add edi, eax
sar edi, 1
cmp edi, esi
jne 0x100482a0
mov esi, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [esi]
jmp 0x1004820b
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
jmp 0x1004820b
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 0x1004555c
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x1004831d
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048319
cmp dword [eax], 0
jne 0x10048319
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10048349
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 0x10048339
sub eax, 1
jne 0x10048349
shl esi, 0x10
jmp 0x10048349
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 0x10048372
mov eax, dword [ebx + 4]
test eax, eax
je 0x10047de6
cmp dword [eax], 0
jne 0x10047de6
mov dword [eax], 0x82
jmp 0x10047de3
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 0
add dword [ebx + 0xc], 8
jmp 0x10047de3
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
cmp edx, ecx
jne 0x100483b0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100483ac
cmp dword [eax], 0
jne 0x100483ac
mov dword [eax], 0xa1
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 8]
xor edi, edi
jmp 0x100483dc
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 0x100483cc
sub eax, 1
jne 0x100483dc
shl edi, 0x10
jmp 0x100483dc
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp edx, ecx
jne 0x100483fc
mov eax, dword [ebx + 4]
test eax, eax
je 0x100483f8
cmp dword [eax], 0
jne 0x100483f8
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
xor esi, esi
jmp 0x10048426
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov esi, dword [edx]
sub eax, 1
je 0x10048416
sub eax, 1
jne 0x10048426
shl esi, 0x10
jmp 0x10048426
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 0x10048444
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048457
cmp dword [eax], 0
jne 0x10048457
mov dword [eax], 0x82
jmp 0x10048454
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 0x10046689
mov dword [edx], esi
jmp 0x10048543
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [ecx]
cmp eax, ecx
jne 0x1004849c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048498
cmp dword [eax], 0
jne 0x10048498
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x100484c3
cmp dword [eax - 4], 2
je 0x100484bb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100484b7
cmp dword [eax], 0
jne 0x100484b7
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x100484c3
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 0x10045554
test edx, edx
jns 0x100484de
lea edi, [eax - 1]
jmp 0x100484ff
cmp edx, eax
jb 0x100484fa
xor edi, edi
mov eax, dword [ecx + edi*8 + 4]
mov edx, dword [ecx + edi*8]
sub eax, 1
je 0x1004851f
sub eax, 1
jne 0x1004852f
shl edx, 0x10
jmp 0x1004852f
mov edi, eax
sub edi, edx
dec edi
cmp edi, eax
jb 0x100484e4
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004851b
cmp dword [eax], 0
jne 0x1004851b
mov dword [eax], 0x82
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
xor edx, edx
jmp 0x1004852f
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 0x10046689
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 0x1004555c
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
cmp eax, ecx
jne 0x10048584
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048580
cmp dword [eax], 0
jne 0x10048580
mov dword [eax], 0xa1
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x100485ab
cmp dword [eax - 4], 2
je 0x100485a3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004859f
cmp dword [eax], 0
jne 0x1004859f
mov dword [eax], 0xa0
mov ecx, dword [ebx + 8]
xor edx, edx
jmp 0x100485ab
add eax, 0xfffffff8
mov dword [ebx + 0xc], eax
mov edx, dword [eax]
mov eax, dword [ebx + 0xc]
cmp eax, ecx
jne 0x100485dd
mov eax, dword [ebx + 4]
test eax, eax
je 0x100485c4
cmp dword [eax], 0
jne 0x100485c4
mov dword [eax], 0xa1
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
jmp 0x1004555c
cmp dword [eax - 4], 2
je 0x1004860e
mov eax, dword [ebx + 4]
test eax, eax
je 0x100485f5
cmp dword [eax], 0
jne 0x100485f5
mov dword [eax], 0xa0
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 2
jmp 0x1004555c
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 0x100486cd
sub eax, dword [esi]
sar eax, 3
cmp ecx, eax
jbe 0x1004864c
mov eax, dword [ebx + 4]
test eax, eax
je 0x100486cd
jmp 0x10046f54
test edx, edx
jns 0x10048661
neg edx
mov eax, edx
cdq
idiv ecx
mov edi, edx
neg edi
mov dword [esp + 0x48], edi
jmp 0x1004866c
mov eax, edx
cdq
idiv ecx
mov edi, edx
mov dword [esp + 0x48], edx
test edi, edi
je 0x100486cd
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 0x100486b7
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 0x100486de
sub edx, ebx
sub esi, eax
jmp 0x100486e6
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
jmp 0x1004555c
test edx, edx
jns 0x100486e6
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 0x10048694
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 0x1004555c
test al, al
je case.0x10046386.0
cmp byte [esp + 0x32], 0
je case.0x10046386.0
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
cmp ecx, edx
jne 0x10048768
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048764
cmp dword [eax], 0
jne 0x10048764
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x10048796
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 0x10048786
sub eax, 1
jne 0x1004879a
shl edi, 0x10
jmp 0x10048796
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 0x100487bb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100487b7
cmp dword [eax], 0
jne 0x100487b7
mov dword [eax], 0xa1
xor esi, esi
jmp 0x100487e9
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 0x100487d9
sub eax, 1
jne 0x100487ed
shl esi, 0x10
jmp 0x100487e9
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 0x1004555c
mov esi, dword [esp + 0x14]
test al, al
je 0x10045827
mov ecx, dword [ebx + 0xc]
cmp ecx, dword [esi]
jne 0x10048841
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004883d
cmp dword [eax], 0
jne 0x1004883d
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x1004886b
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x1004885b
sub eax, 1
jne 0x1004886b
shl ecx, 0x10
jmp 0x1004886b
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 0x1004889b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048897
cmp dword [eax], 0
jne 0x10048897
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x100488c5
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x100488b5
sub eax, 1
jne 0x100488c5
shl ecx, 0x10
jmp 0x100488c5
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 0x1004a34d
cmp byte [esp + 0x32], 0
je 0x10045823
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 0x1004555c
test al, al
je 0x1004a4e3
test ah, ah
jne 0x1004a4e3
cmp byte [esp + 0x2f68], ah
je 0x1004898b
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10044490
cmp byte [esp + 0x2fb8], 0
je 0x10048973
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.10043f50
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 0x100489c6
cmp byte [eax + 5], 0
je 0x100489ea
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.100435a0
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 0x10048aa9
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 0x10048a8f
test ebp, ebp
je 0x10048a8d
cmp dword [ebp], 0
jne 0x10048a8d
mov dword [ebp], 0x82
xor ebx, ebx
imul ebx, ecx
dec edx
add ebx, esi
mov dword [esp + 0x18], ebx
test edx, edx
jg 0x10048a75
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 0x1004555c
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
sub eax, dword [esi]
sar eax, 3
cmp eax, 1
jbe 0x10048ae4
cmp byte [esp + 0xac], 0
jne 0x10045827
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.10044900
mov eax, dword [esp + 0x2c]
cmp byte [eax + 0x224], 0
jne 0x1004a34d
mov eax, dword [esp + 0x28]
cmp al, 0x13
jne 0x10048b49
mov eax, dword [esp + 0xd8]
lea ecx, [esp + 0xa8]
add eax, dword [esp + 0xf8]
mov edx, dword [esp + 0x18]
push eax
call fcn.10044880
mov eax, dword [esi]
mov ecx, edx
mov dword [ebx + 0xc], eax
jmp 0x1004555c
push 0xf1c
lea eax, [esp + 0x2fe4]
push 0
push eax
call fcn.100eae50
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.10044880
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.100435a0
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [ebx + 0xc], eax
jmp 0x1004555c
mov esi, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [esi]
sub eax, edx
sar eax, 3
cmp eax, 2
jbe 0x10048c6e
cmp byte [esp + 0x27], 0
jne 0x10048c6e
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10048c4c
sub eax, 1
jne 0x10048c5c
shl ecx, 0x10
jmp 0x10048c5c
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 0x1004a34d
mov ecx, dword [ebx + 0xc]
mov esi, dword [esi]
cmp ecx, esi
jne 0x10048ca9
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048ca5
cmp dword [eax], 0
jne 0x10048ca5
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov esi, dword [ebx + 8]
xor edx, edx
jmp 0x10048cd3
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edx, dword [ecx]
sub eax, 1
je 0x10048cc3
sub eax, 1
jne 0x10048cd3
shl edx, 0x10
jmp 0x10048cd3
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 0x10048cfa
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048cf6
cmp dword [eax], 0
jne 0x10048cf6
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10048d24
lea edx, [ecx - 8]
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10048d14
sub eax, 1
jne 0x10048d24
shl ecx, 0x10
jmp 0x10048d24
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 0x10048802
cmp byte [esp + 0x2f68], 0
je 0x10048dbb
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10044490
cmp byte [esp + 0x2fb8], 0
je 0x10048da3
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.10043f50
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 0x10048df6
cmp byte [eax + 5], 0
je 0x10048e1a
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.100435a0
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 0x1004555c
mov ecx, dword [esp + 0x14]
mov eax, dword [ebx + 0xc]
mov edx, dword [ecx]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x10048e9d
cmp byte [esp + 0x27], 0
jne 0x10048e9d
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10048e77
sub eax, 1
jne 0x10048e87
shl ecx, 0x10
jmp 0x10048e87
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 0x1004a34d
mov edx, dword [ebx + 0xc]
cmp edx, dword [ecx]
jne 0x10048ed0
mov eax, dword [ebx + 4]
test eax, eax
je 0x10048ecc
cmp dword [eax], 0
jne 0x10048ecc
mov dword [eax], 0xa1
xor ecx, ecx
jmp 0x10048efa
add edx, 0xfffffff8
mov dword [ebx + 0xc], edx
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x10048eea
sub eax, 1
jne 0x10048efa
shl ecx, 0x10
jmp 0x10048efa
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 0x10048802
cmp byte [esp + 0x2f68], 0
je 0x10048f91
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10044490
cmp byte [esp + 0x2fb8], 0
je 0x10048f79
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.10043f50
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 0x10048fd0
cmp byte [eax + 5], 0
je 0x10048e1a
mov edx, dword [esp + 0x2f6c]
lea ecx, [esp + 0x1e0]
push 0
push dword [esp + 0x2f7c]
push eax
push dword [esp + 0x2f7c]
call fcn.100435a0
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 0x1004555c
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 0x10049124
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 0x10049070
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004906c
cmp dword [eax], 0
jne 0x1004906c
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov ecx, dword [ebx + 0xc]
mov edx, dword [eax]
xor esi, esi
jmp 0x10049096
mov eax, dword [edx + edi*8 + 4]
mov esi, dword [edx + edi*8]
sub eax, 1
je 0x10049086
sub eax, 1
jne 0x10049096
shl esi, 0x10
jmp 0x10049096
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 0x100490c7
mov eax, dword [ebx + 4]
test eax, eax
je 0x100490c3
cmp dword [eax], 0
jne 0x100490c3
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100490ee
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x100490de
sub eax, 1
jne 0x100490ee
shl ecx, 0x10
jmp 0x100490ee
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.10044490
mov eax, dword [esp + 0x34]
add ebp, 2
mov edx, dword [esp + 0x14]
add edi, 2
cmp ebp, eax
jb 0x10049041
mov ebp, dword [esp + 0x20]
cmp edi, eax
jae 0x10049393
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 0x10049165
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049161
cmp dword [eax], 0
jne 0x10049161
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1004918c
mov eax, dword [edx + edi*8 - 0xc]
mov ecx, dword [edx + edi*8 - 0x10]
sub eax, 1
je 0x1004917c
sub eax, 1
jne 0x1004918c
shl ecx, 0x10
jmp 0x1004918c
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 0x100491c0
mov eax, dword [ebx + 4]
test eax, eax
je 0x100491bc
cmp dword [eax], 0
jne 0x100491bc
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x100491e7
mov eax, dword [edx + edi*8 - 4]
mov ecx, dword [edx + edi*8 - 8]
sub eax, 1
je 0x100491d7
sub eax, 1
jne 0x100491e7
shl ecx, 0x10
jmp 0x100491e7
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 0x1004921b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049217
cmp dword [eax], 0
jne 0x10049217
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x10049241
mov eax, dword [edx + edi*8 + 4]
mov ecx, dword [edx + edi*8]
sub eax, 1
je 0x10049231
sub eax, 1
jne 0x10049241
shl ecx, 0x10
jmp 0x10049241
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 0x10049278
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049274
cmp dword [eax], 0
jne 0x10049274
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x1004929f
mov eax, dword [edx + edi*8 + 0xc]
mov ecx, dword [edx + edi*8 + 8]
sub eax, 1
je 0x1004928f
sub eax, 1
jne 0x1004929f
shl ecx, 0x10
jmp 0x1004929f
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 0x100492ce
mov eax, dword [ebx + 4]
test eax, eax
je 0x100492ca
cmp dword [eax], 0
jne 0x100492ca
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov esi, dword [ebx + 0xc]
mov edx, dword [eax]
xor ecx, ecx
jmp 0x100492f5
mov eax, dword [edx + edi*8 + 0x14]
mov ecx, dword [edx + edi*8 + 0x10]
sub eax, 1
je 0x100492e5
sub eax, 1
jne 0x100492f5
shl ecx, 0x10
jmp 0x100492f5
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 0x10049321
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004931d
cmp dword [eax], 0
jne 0x1004931d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10049348
mov eax, dword [edx + edi*8 + 0x1c]
mov ecx, dword [edx + edi*8 + 0x18]
sub eax, 1
je 0x10049338
sub eax, 1
jne 0x10049348
shl ecx, 0x10
jmp 0x10049348
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.10044610
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 0x10049133
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 0x1004555c
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 0x10049880
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 0x10049448
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov eax, dword [ebx + 0xc]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x10049411
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004940d
cmp dword [eax], 0
jne 0x1004940d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10049437
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10049427
sub eax, 1
jne 0x10049437
shl ecx, 0x10
jmp 0x10049437
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 0x1004947b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049477
cmp dword [eax], 0
jne 0x10049477
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x100494a1
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x10049491
sub eax, 1
jne 0x100494a1
shl esi, 0x10
jmp 0x100494a1
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 0x100494d5
mov eax, dword [ebx + 4]
test eax, eax
je 0x100494d1
cmp dword [eax], 0
jne 0x100494d1
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x100494fb
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x100494eb
sub eax, 1
jne 0x100494fb
shl esi, 0x10
jmp 0x100494fb
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 0x10049533
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004952f
cmp dword [eax], 0
jne 0x1004952f
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x10049559
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x10049549
sub eax, 1
jne 0x10049559
shl esi, 0x10
jmp 0x10049559
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 0x1004957e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004957a
cmp dword [eax], 0
jne 0x1004957a
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x100495a5
lea ecx, [ecx + eax*8]
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
sub eax, 1
je 0x10049595
sub eax, 1
jne 0x100495a5
shl ecx, 0x10
jmp 0x100495a5
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.10044610
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 0x100493e1
jmp 0x1004987c
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 0x10049880
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 0x100496b1
mov eax, dword [ebx + 0xc]
mov ecx, dword [esi]
sub eax, ecx
sar eax, 3
cmp edi, eax
jb 0x1004966c
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049668
cmp dword [eax], 0
jne 0x10049668
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10049692
mov eax, dword [ecx + edi*8 + 4]
mov ecx, dword [ecx + edi*8]
sub eax, 1
je 0x10049682
sub eax, 1
jne 0x10049692
shl ecx, 0x10
jmp 0x10049692
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 0x100496b9
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 0x100496e4
mov eax, dword [ebx + 4]
test eax, eax
je 0x100496e0
cmp dword [eax], 0
jne 0x100496e0
mov dword [eax], 0x82
mov edx, dword [ebx + 0xc]
mov ecx, dword [esi]
xor esi, esi
jmp 0x1004970a
mov eax, dword [ecx + edi*8 + 4]
mov esi, dword [ecx + edi*8]
sub eax, 1
je 0x100496fa
sub eax, 1
jne 0x1004970a
shl esi, 0x10
jmp 0x1004970a
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 0x10049742
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004973e
cmp dword [eax], 0
jne 0x1004973e
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x10049768
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x10049758
sub eax, 1
jne 0x10049768
shl esi, 0x10
jmp 0x10049768
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 0x10049798
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049794
cmp dword [eax], 0
jne 0x10049794
mov dword [eax], 0x82
mov eax, dword [esp + 0x14]
mov edx, dword [ebx + 0xc]
mov ecx, dword [eax]
xor esi, esi
jmp 0x100497be
mov eax, dword [ecx + esi*8 + 4]
mov esi, dword [ecx + esi*8]
sub eax, 1
je 0x100497ae
sub eax, 1
jne 0x100497be
shl esi, 0x10
jmp 0x100497be
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 0x100497eb
mov eax, dword [ebx + 4]
test eax, eax
je 0x100497e7
cmp dword [eax], 0
jne 0x100497e7
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10049813
mov eax, dword [ecx + esi*8 + 4]
lea ecx, [ecx + esi*8]
mov ecx, dword [ecx]
sub eax, 1
je 0x10049803
sub eax, 1
jne 0x10049813
shl ecx, 0x10
jmp 0x10049813
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.10044610
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 0x10049640
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 0x1004555c
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 0x10049d22
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 0x10049af1
cmp ebp, ecx
jb 0x100498ff
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100498fb
cmp dword [ecx], 0
jne 0x100498fb
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10049925
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x10049915
sub ecx, 1
jne 0x10049925
shl esi, 0x10
jmp 0x10049925
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 0x10049964
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10049960
cmp dword [ecx], 0
jne 0x10049960
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x1004998a
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x1004997a
sub ecx, 1
jne 0x1004998a
shl esi, 0x10
jmp 0x1004998a
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 0x100499c1
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x100499bd
cmp dword [ecx], 0
jne 0x100499bd
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x100499e7
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x100499d7
sub ecx, 1
jne 0x100499e7
shl esi, 0x10
jmp 0x100499e7
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 0x10049a0f
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049a0b
cmp dword [eax], 0
jne 0x10049a0b
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10049a35
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x10049a25
sub eax, 1
jne 0x10049a35
shl ecx, 0x10
jmp 0x10049a35
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 0x10049adf
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 0x10049a8b
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049a72
cmp dword [eax], 0
jne 0x10049a72
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 0x10049cdd
mov eax, dword [esi + edx*8 + 4]
mov ecx, dword [esi + edx*8]
sub eax, 1
je 0x10049ab7
sub eax, 1
jne 0x10049ac7
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 0x10049cdd
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 0x10049cdd
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
mov byte [esp + 0x33], 0
jmp 0x10049cdd
mov dword [esp + 0x34], esi
cmp ebp, ecx
jb 0x10049b18
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10049b14
cmp dword [ecx], 0
jne 0x10049b14
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10049b3e
mov ecx, dword [eax + ebp*8 + 4]
mov esi, dword [eax + ebp*8]
sub ecx, 1
je 0x10049b2e
sub ecx, 1
jne 0x10049b3e
shl esi, 0x10
jmp 0x10049b3e
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 0x10049b76
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10049b72
cmp dword [ecx], 0
jne 0x10049b72
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10049b9c
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10049b8c
sub ecx, 1
jne 0x10049b9c
shl esi, 0x10
jmp 0x10049b9c
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 0x10049bd3
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0x10049bcf
cmp dword [ecx], 0
jne 0x10049bcf
mov eax, dword [esp + 0x14]
mov dword [ecx], 0x82
mov edx, dword [ebx + 0xc]
mov eax, dword [eax]
xor esi, esi
jmp 0x10049bf9
mov ecx, dword [eax + edi*8 + 4]
mov esi, dword [eax + edi*8]
sub ecx, 1
je 0x10049be9
sub ecx, 1
jne 0x10049bf9
shl esi, 0x10
jmp 0x10049bf9
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 0x10049c21
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049c1d
cmp dword [eax], 0
jne 0x10049c1d
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x10049c47
mov ecx, dword [eax + esi*8]
mov eax, dword [eax + esi*8 + 4]
sub eax, 1
je 0x10049c37
sub eax, 1
jne 0x10049c47
shl ecx, 0x10
jmp 0x10049c47
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 0x10049cd4
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 0x10049c96
mov eax, dword [ebx + 4]
test eax, eax
je 0x10049c87
cmp dword [eax], 0
jne 0x10049c87
mov dword [eax], 0x82
mov ebp, dword [esp + 0x50]
xor ecx, ecx
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10049cd8
mov eax, dword [esi + edx*8 + 4]
mov ecx, dword [esi + edx*8]
sub eax, 1
je 0x10049cb7
sub eax, 1
jne 0x10049cc7
mov ebp, dword [esp + 0x50]
shl ecx, 0x10
lea eax, [edi + ecx]
mov dword [esp + 0x1c], eax
jmp 0x10049cd8
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 0x10049cd8
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.10044610
mov edi, dword [esp + 0x1c]
add ebp, 4
mov dword [esp + 0x3f14], esi
mov dword [esp + 0x3f18], edi
cmp ebp, dword [esp + 0x3c]
jb 0x100498c1
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 0x1004555c
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
mov esi, dword [esp + 0x18]
cmp edx, ecx
jae 0x10049d4d
mov al, byte [edx]
inc edx
mov dword [esi + 0xc], edx
movzx esi, al
jmp 0x10049d66
mov eax, dword [esi]
test eax, eax
je 0x10049d64
cmp dword [eax], 0
jne 0x10049d64
mov dword [eax], 0x55
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
xor esi, esi
cmp edx, ecx
jae 0x10049d7b
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10049d92
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10049d90
cmp dword [eax], 0
jne 0x10049d90
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 0x10049dba
mov esi, dword [esp + 0x14]
jmp 0x10046854
mov dword [esi], edx
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
add dword [ebx + 0xc], 8
jmp 0x10045558
cmp dl, 0xf6
ja 0x10049e18
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 0x10049e68
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x1004555c
cmp dword [eax], 0
jne 0x1004555c
mov dword [eax], 0x82
jmp 0x1004555c
mov eax, dword [esp + 0x28]
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 8]
cmp al, 0xfa
ja 0x10049e85
shl esi, 8
cmp edx, ecx
jae 0x10049e45
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 0x10049dda
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10049e5a
cmp dword [eax], 0
jne 0x10049e5a
mov dword [eax], 0x55
xor eax, eax
mov eax, 0xffff096c
add esi, eax
jmp 0x10049dda
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 0x1004555c
cmp al, 0xfe
ja 0x10049ef5
shl esi, 8
cmp edx, ecx
jae 0x10049ea1
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10049eb8
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10049eb6
cmp dword [eax], 0
jne 0x10049eb6
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 0x10049df1
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 0x1004555c
mov edi, dword [esp + 0x18]
cmp edx, ecx
jae 0x10049f08
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx esi, al
jmp 0x10049f21
mov eax, dword [edi]
test eax, eax
je 0x10049f1f
cmp dword [eax], 0
jne 0x10049f1f
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor esi, esi
cmp edx, ecx
jae 0x10049f30
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx ebp, al
jmp 0x10049f49
mov eax, dword [edi]
test eax, eax
je 0x10049f47
cmp dword [eax], 0
jne 0x10049f47
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor ebp, ebp
cmp edx, ecx
jae 0x10049f58
mov al, byte [edx]
inc edx
mov dword [edi + 0xc], edx
movzx edi, al
jmp 0x10049f71
mov eax, dword [edi]
test eax, eax
je 0x10049f6f
cmp dword [eax], 0
jne 0x10049f6f
mov dword [eax], 0x55
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 8]
xor edi, edi
cmp edx, ecx
jae 0x10049f86
mov cl, byte [edx]
lea eax, [edx + 1]
mov edx, dword [esp + 0x18]
mov dword [edx + 0xc], eax
movzx eax, cl
jmp 0x10049f9d
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
test eax, eax
je 0x10049f9b
cmp dword [eax], 0
jne 0x10049f9b
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 0x1004a02f
cmp esi, 0x7d00
jg 0x10049fca
cmp esi, 0xffff8300
jge 0x10049fdf
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 0x1004a021
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 0x1004555c
cmp dword [eax], 0
jne 0x1004555c
mov dword [eax], 0x82
jmp 0x1004555c
mov dword [edx], esi
mov eax, dword [ebx + 0xc]
mov dword [eax + 4], 2
jmp 0x1004a07d
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 0x1004a071
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 0x1004555c
cmp dword [eax], 0
jne 0x1004555c
mov dword [eax], 0x82
jmp 0x1004555c
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 0x1004555c
cmp dword [ecx - 4], 2
je 0x1004a0be
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a0b4
cmp dword [eax], 0
jne 0x1004a0b4
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x28], 0
jmp 0x1004a0ca
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x28], eax
cmp ecx, edx
jne 0x1004a0f0
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a0e6
cmp dword [eax], 0
jne 0x1004a0e6
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x44], 0
jmp 0x1004a124
cmp dword [ecx - 4], 2
je 0x1004a118
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a10e
cmp dword [eax], 0
jne 0x1004a10e
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x44], 0
jmp 0x1004a124
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x44], eax
cmp ecx, edx
jne 0x1004a144
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a140
cmp dword [eax], 0
jne 0x1004a140
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1004a16e
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1004a15e
sub eax, 1
jne 0x1004a16e
shl edi, 0x10
jmp 0x1004a16e
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1004a18e
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a18a
cmp dword [eax], 0
jne 0x1004a18a
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor esi, esi
jmp 0x1004a1b8
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov esi, dword [ecx]
sub eax, 1
je 0x1004a1a8
sub eax, 1
jne 0x1004a1b8
shl esi, 0x10
jmp 0x1004a1b8
mov eax, esi
shr eax, 0x1f
sub esi, eax
add esi, 0x2000
sar esi, 0xe
cmp ecx, edx
jne 0x1004a1d2
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a1ce
cmp dword [eax], 0
jne 0x1004a1ce
mov dword [eax], 0xa1
xor ebp, ebp
jmp 0x1004a1fc
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov ebp, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1004a1ec
sub eax, 1
jne 0x1004a1fc
shl ebp, 0x10
jmp 0x1004a1fc
mov eax, ebp
shr eax, 0x1f
sub ebp, eax
add ebp, 0x2000
sar ebp, 0xe
cmp byte [esp + 0x3f10], 0
je 0x1004a210
mov eax, 0x12
jmp 0x1004a836
mov edx, dword [esp + 0x2c]
cmp byte [edx + 0x2f], 0
je 0x1004a224
mov eax, 0x12
jmp 0x1004a836
cmp dword [edx + 0x244], 0
mov ecx, dword [esp + 0x58]
jne 0x1004a247
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
jne 0x1004a247
mov eax, 0x12
jmp 0x1004a836
mov eax, dword [edx + 0x20]
add esi, dword [eax]
mov eax, dword [ecx + 0x80]
cmp dword [eax + 0x34], 0
je 0x1004a25e
mov eax, dword [esp + 0x28]
jmp 0x1004a284
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x2c]
call fcn.10041140
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x44], eax
call fcn.10041140
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x44], 0
jl 0x1004a206
test eax, eax
js 0x1004a206
cmp byte [edx + 0x2e], 0
je 0x1004a356
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.10031300
test eax, eax
jne 0x1004a836
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 0x1004a836
mov ecx, dword [edx + 0xc]
call fcn.10031450
mov edx, dword [esp + 0x44]
lea eax, [esp + 0x7c]
mov ecx, dword [esp + 0x2c]
push eax
call fcn.10043010
test eax, eax
jne 0x1004a836
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.10044fc0
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 0x1004a403
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 0x1004a42a
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.10043010
test eax, eax
jne 0x1004a836
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.10044fc0
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 0x1004a4ba
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 0x1004a836
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
je 0x1004a4f8
cmp eax, 5
jne 0x1004a54f
cmp byte [esp + 0x27], 0
jne 0x1004a54f
test eax, eax
jne 0x1004a519
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a515
cmp dword [eax], 0
jne 0x1004a515
mov dword [eax], 0x82
xor ecx, ecx
jmp 0x1004a53d
mov eax, dword [edx + 4]
mov ecx, dword [edx]
sub eax, 1
je 0x1004a52d
sub eax, 1
jne 0x1004a53d
shl ecx, 0x10
jmp 0x1004a53d
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 0x1004a34d
cmp byte [esp + 0x2f68], 0
je 0x1004a5e5
push dword [esp + 0x2fb4]
mov edx, dword [esp + 0x2fb4]
lea ecx, [esp + 0x1dc]
mov byte [esp + 0x2f6d], 1
call fcn.10044490
cmp byte [esp + 0x2fb8], 0
je 0x1004a5c5
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.10043f50
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 0x1004a34d
cmp byte [eax + 8], 0
jne 0x1004a34d
mov ecx, dword [ebx + 0xc]
mov eax, ecx
mov edx, dword [ebx + 8]
sub eax, edx
sar eax, 3
cmp eax, 1
jbe 0x1004a34d
cmp byte [esp + 0x3f10], 0
je 0x1004a627
mov eax, 0x12
jmp 0x1004a836
cmp ecx, edx
jne 0x1004a64d
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a643
cmp dword [eax], 0
jne 0x1004a643
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x38], 0
jmp 0x1004a681
cmp dword [ecx - 4], 2
je 0x1004a675
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a66b
cmp dword [eax], 0
jne 0x1004a66b
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov dword [esp + 0x38], 0
jmp 0x1004a681
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
cmp ecx, edx
jne 0x1004a6a1
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a69d
cmp dword [eax], 0
jne 0x1004a69d
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1004a6cb
cmp dword [ecx - 4], 2
je 0x1004a6c3
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a6bf
cmp dword [eax], 0
jne 0x1004a6bf
mov dword [eax], 0xa0
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor ebp, ebp
jmp 0x1004a6cb
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov ebp, dword [ecx]
cmp ecx, edx
jne 0x1004a6eb
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a6e7
cmp dword [eax], 0
jne 0x1004a6e7
mov dword [eax], 0xa1
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
xor edi, edi
jmp 0x1004a715
add ecx, 0xfffffff8
mov dword [ebx + 0xc], ecx
mov eax, dword [ecx + 4]
mov edi, dword [ecx]
sub eax, 1
je 0x1004a705
sub eax, 1
jne 0x1004a715
shl edi, 0x10
jmp 0x1004a715
mov eax, edi
shr eax, 0x1f
sub edi, eax
add edi, 0x2000
sar edi, 0xe
cmp ecx, edx
jne 0x1004a72f
mov eax, dword [ebx + 4]
test eax, eax
je 0x1004a72b
cmp dword [eax], 0
jne 0x1004a72b
mov dword [eax], 0xa1
xor esi, esi
jmp 0x1004a759
lea eax, [ecx - 8]
mov dword [ebx + 0xc], eax
mov esi, dword [eax]
mov eax, dword [eax + 4]
sub eax, 1
je 0x1004a749
sub eax, 1
jne 0x1004a759
shl esi, 0x10
jmp 0x1004a759
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.10042f50
test eax, eax
jne 0x1004a836
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.10044fc0
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.10042f50
test eax, eax
jne 0x1004a836
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.10044fc0
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 0x1004a836
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 0x1004a845
cmp dword [ecx], 0
jne 0x1004a845
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 0x1004a87f
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 0x1004a8c4
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 0x1004a909
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 0x1004a92c
mov edx, eax
mov eax, dword [esp + 0x104]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
test ebx, ebx
je 0x1004a950
mov edx, dword [ebx + 8]
mov edi, dword [ebx]
test edx, edx
je 0x1004a940
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