Function at 0xa673be
Capabilities:
Encode data using base64

Disassembly:
mov eax, 0xc6bae4
call fcn.00be12c8
sub esp, 0xf4
push ebx
push esi
push edi
mov ebx, ecx
call fcn.00adc3e4
mov ecx, dword [ebx + 0x1728]
mov dword [ebp - 0x48], eax
lea eax, [ecx - 0xc]
neg ecx
sbb ecx, ecx
and ecx, eax
call fcn.0062c1ce
xor esi, esi
test eax, eax
je 0xa67429
lea edi, [ebx + 0x88]
push esi
mov ecx, edi
call fcn.0045c590
test eax, eax
je 0xa67414
push esi
mov ecx, edi
call fcn.0045c590
cmp eax, 1
jne 0xa67429
mov eax, dword [ebx + 0x46c]
mov edx, dword [edi]
and eax, 1
push esi
or eax, 4
push eax
mov ecx, edi
call dword [edx + 0x10]
lea edi, [ebx + 0x88]
push esi
mov ecx, edi
call fcn.0045c590
cmp eax, 0x100
je 0xa6744d
push esi
mov ecx, edi
call fcn.0045c590
cmp eax, 0x101
jne 0xa674bb
cmp dword [ebx + 0x370c], esi
lea edi, [ebx + 0x370c]
jne 0xa674bb
mov ecx, dword [ebx + 0x1728]
lea eax, [ecx - 0xc]
neg ecx
sbb ecx, ecx
and ecx, eax
call fcn.00a69fd8
test eax, eax
je 0xa674bb
mov eax, dword [ebx + 0x16a0]
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
mov dword [ecx], eax
call fcn.0043816b
mov eax, dword [ebx]
or dword [ebp - 4], 0xffffffff
mov ecx, ebx
call dword [eax + 0x44]
push eax
push 0x402
call fcn.00a69ec5
pop ecx
pop ecx
push eax
lea eax, [ebp - 0x20]
push eax
mov ecx, ebx
call fcn.00a7d466
push dword [eax]
mov ecx, edi
call fcn.0042d57d
lea ecx, [ebp - 0x20]
call fcn.00418618
push esi
lea ecx, [ebx + 0x88]
call fcn.0045c590
cmp eax, 0xc1
jne 0xa6751e
cmp dword [ebx + 0x3728], esi
lea edi, [ebx + 0x3728]
jne 0xa6751e
mov eax, dword [ebx + 0x1728]
mov ecx, eax
add eax, 0xfffffff4
neg ecx
sbb ecx, ecx
and ecx, eax
cmp dword [ecx + 0x1a0], esi
je 0xa6751e
mov ecx, dword [0xd7c424]
push esi
push esi
push esi
push esi
push 0x3e8
push 0x4215fd
call fcn.00824297
push eax
mov ecx, ebx
call fcn.00a6e6a7
mov dword [edi], 1
jmp 0xa67541
cmp dword [ebx + 0x3728], esi
lea edi, [ebx + 0x3728]
je 0xa67541
push esi
lea ecx, [ebx + 0x88]
call fcn.0045c590
cmp eax, 0xc1
je 0xa67541
mov dword [edi], esi
lea ecx, [ebx + 0x2a3c]
push esi
call fcn.0044d8ed
test al, al
jne 0xa67a7f
xor edi, edi
push edi
lea ecx, [ebx + 0x88]
call fcn.0045c590
cmp dword [ebx + 0x2a3c], edi
lea esi, [ebx + 0x2a3c]
mov dword [ebp - 0x18], eax
jne 0xa6757e
push 0x80004003
call fcn.00be0541
mov ecx, dword [esi]
call fcn.0042a95a
cmp dword [esi], edi
mov dword [ebp - 0x20], eax
jne 0xa67596
push 0x80004003
call fcn.00be0541
mov ecx, dword [esi]
call fcn.0042a981
cmp dword [esi], edi
mov dword [ebp - 0x24], eax
jne 0xa675ae
push 0x80004003
call fcn.00be0541
mov ecx, dword [esi]
lea eax, [ebp - 0x44]
push eax
call fcn.00448abf
cmp dword [esi], edi
mov dword [ebp - 4], 1
jne 0xa675ce
push 0x80004003
call fcn.00be0541
mov eax, dword [ebx + 0x2a3c]
mov esi, 0xd86b48
lea edi, [ebp - 0xa0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0xa0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x1c], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
test eax, eax
jge 0xa6760d
push 0xd3bb88
push dword [ebp - 0x1c]
push eax
call fcn.00be054f
cmp dword [ebx + 0x2a3c], 0
jne 0xa67620
push 0x80004003
call fcn.00be0541
mov eax, dword [ebx + 0x2a3c]
mov ecx, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x1c], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
test eax, eax
jge 0xa6764d
push 0xd3bb88
push dword [ebp - 0x1c]
push eax
call fcn.00be054f
lea ecx, [ebx + 0x88]
call fcn.0045c95e
test eax, eax
je 0xa67790
cmp dword [ebp - 0x18], 8
mov esi, 0xd8d000
push esi
jne 0xa67700
lea ecx, [ebp - 0x34]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 2
call fcn.00402fdb
cmp dword [ebx + 0x2a3c], 0
mov byte [ebp - 4], 3
jne 0xa6769c
push 0x80004003
call fcn.00be0541
sub esp, 0x10
mov edi, esp
mov eax, dword [ebx + 0x2a3c]
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xffffffffffffffae
movsd dword es:[edi], dword [esi]
push 0xffffffffffffffe6
push eax
mov dword [ebp - 0x1c], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0xa676dc
push 0xd3bb88
push dword [ebp - 0x1c]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 2
call fcn.00402973
test eax, eax
pop ecx
jge 0xa676f4
push eax
call fcn.00be0541
mov byte [ebp - 4], 1
lea eax, [ebp - 0x34]
jmp 0xa67a56
lea ecx, [ebp - 0x34]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 4
call fcn.00402fdb
cmp dword [ebx + 0x2a3c], 0
mov byte [ebp - 4], 5
jne 0xa6772c
push 0x80004003
call fcn.00be0541
sub esp, 0x10
mov edi, esp
mov eax, dword [ebx + 0x2a3c]
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xffffffffffffffa7
movsd dword es:[edi], dword [esi]
push 0xffffffffffffffe6
push eax
mov dword [ebp - 0x1c], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0xa6776c
push 0xd3bb88
push dword [ebp - 0x1c]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 4
call fcn.00402973
test eax, eax
pop ecx
jge 0xa67784
push eax
call fcn.00be0541
mov byte [ebp - 4], 1
lea eax, [ebp - 0x34]
jmp 0xa67a56
mov eax, dword [ebx + 0x408]
xor edi, edi
cmp eax, edi
je 0xa677a8
cmp dword [ebp - 0x18], 8
je 0xa677d1
cmp dword [ebp - 0x18], 0x14
je 0xa677d1
cmp dword [ebx + 0x41c], edi
je 0xa677b9
cmp dword [ebp - 0x18], 0x84
je 0xa677d1
cmp eax, edi
jne 0xa67922
cmp dword [ebp - 0x18], 0x33
je 0xa677d1
cmp dword [ebp - 0x18], 0x32
jne 0xa67922
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x34]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 6
call fcn.00402fdb
cmp dword [ebx + 0x2a3c], edi
mov byte [ebp - 4], 7
jne 0xa67802
push 0x80004003
call fcn.00be0541
sub esp, 0x10
mov edi, esp
mov eax, dword [ebx + 0x2a3c]
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x24]
lea esi, [ebp - 0x58]
push dword [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x1c], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0xa67844
push 0xd3bb88
push dword [ebp - 0x1c]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 6
call fcn.00402973
test eax, eax
pop ecx
jge 0xa6785c
push eax
call fcn.00be0541
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 1
call fcn.00402973
test eax, eax
pop ecx
jge 0xa67874
push eax
call fcn.00be0541
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x34]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 8
call fcn.00402fdb
cmp dword [ebx + 0x2a3c], 0
mov eax, dword [ebx + 0x46c]
mov byte [ebp - 4], 9
mov dword [ebp - 0x1c], eax
jne 0xa678af
push 0x80004003
call fcn.00be0541
mov edx, dword [ebp - 0x1c]
sub esp, 0x10
mov edi, esp
mov eax, dword [ebx + 0x2a3c]
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
and dl, 1
mov edi, esp
neg dl
lea esi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sbb edx, edx
and edx, 0xffffffda
push 0xffffffffffffffc3
movsd dword es:[edi], dword [esi]
add edx, 0xfffffff9
push edx
push eax
mov dword [ebp - 0x20], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0xa678fe
push 0xd3bb88
push dword [ebp - 0x20]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 8
call fcn.00402973
test eax, eax
pop ecx
jge 0xa67916
push eax
call fcn.00be0541
mov byte [ebp - 4], 1
lea eax, [ebp - 0x34]
jmp 0xa67a56
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x34]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xa
call fcn.00402fdb
cmp dword [ebx + 0x2a3c], edi
mov byte [ebp - 4], 0xb
jne 0xa67953
push 0x80004003
call fcn.00be0541
sub esp, 0x10
mov edi, esp
mov eax, dword [ebx + 0x2a3c]
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
push dword [ebp - 0x24]
lea esi, [ebp - 0x58]
push dword [ebp - 0x20]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
mov dword [ebp - 0x1c], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0xa67995
push 0xd3bb88
push dword [ebp - 0x1c]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0xa
call fcn.00402973
test eax, eax
pop ecx
jge 0xa679ad
push eax
call fcn.00be0541
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 1
call fcn.00402973
test eax, eax
pop ecx
jge 0xa679c5
push eax
call fcn.00be0541
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x34]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0xc
call fcn.00402fdb
cmp dword [ebx + 0x2a3c], 0
mov byte [ebp - 4], 0xd
jne 0xa679f7
push 0x80004003
call fcn.00be0541
sub esp, 0x10
mov edi, esp
mov eax, dword [ebx + 0x2a3c]
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0xffffffffffffffa7
movsd dword es:[edi], dword [esi]
push 0xffffffffffffffe6
push eax
mov dword [ebp - 0x1c], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0xa67a37
push 0xd3bb88
push dword [ebp - 0x1c]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0xc
call fcn.00402973
test eax, eax
pop ecx
jge 0xa67a4f
push eax
call fcn.00be0541
mov byte [ebp - 4], 1
lea eax, [ebp - 0x34]
push eax
call fcn.00402973
test eax, eax
pop ecx
jge 0xa67a67
push eax
call fcn.00be0541
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x44]
push eax
call fcn.00402973
test eax, eax
pop ecx
jge 0xa67a7f
push eax
call fcn.00be0541
lea edi, [ebx + 0x370c]
xor esi, esi
push esi
mov ecx, edi
call fcn.0044d8ed
test al, al
jne 0xa67adc
test byte [ebx + 0x46c], 1
je 0xa67ab1
cmp dword [edi], esi
jne 0xa67aaa
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov eax, dword [edi]
push esi
jmp 0xa67ac5
cmp dword [edi], esi
jne 0xa67abf
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov eax, dword [edi]
push 1
push edi
call dword [eax + 0xd8]
cmp eax, esi
jge 0xa67adc
push 0xd3bb98
push edi
push eax
call fcn.00be054f
push 1
push esi
mov ecx, ebx
call fcn.00a72943
lea ecx, [ebx + 0x88]
call fcn.006f67a6
push eax
lea ecx, [ebx + 0x14]
call fcn.004a4b2e
push 0x11
mov ecx, ebx
call fcn.00a7ac06
mov edi, eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
mov ecx, dword [eax + 0x11d4]
mov eax, dword [ecx]
call dword [eax + 4]
test al, al
je 0xa67e61
mov eax, dword [ebx + 0x1728]
mov ecx, eax
add eax, 0xfffffff4
neg ecx
sbb ecx, ecx
and ecx, eax
cmp dword [ecx + 0x1a0], esi
je 0xa67da1
add edi, 0x10
mov dword [ebp - 0x20], edi
cmp dword [edi], esi
jne 0xa67ca6
mov eax, dword [0xd7c424]
mov ecx, ebx
mov dword [ebp - 0x1c], eax
call fcn.00a7d861
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.00824297
push esi
push 0xff
push 3
push ecx
mov dword [ebp - 0x1c], eax
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
lea ecx, [ebx + 0x88]
call fcn.0045c5c2
push esi
push esi
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push eax
mov ecx, ebx
mov dword [ebp - 4], 0xe
call fcn.004d29c2
mov eax, dword [ebx]
mov ecx, ebx
mov byte [ebp - 4], 0xf
call dword [eax + 4]
mov ecx, dword [ebp - 0x1c]
movzx eax, al
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00413ed0
mov dword [ebp - 0x1c], eax
lea ecx, [ebx + 0x16a0]
mov byte [ebp - 4], 0x11
call fcn.0042d202
mov ecx, eax
call fcn.0044a3b5
mov ecx, dword [ebp - 0x1c]
push eax
call fcn.0040b649
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.00445a43
add esp, 0x28
push dword [eax]
mov ecx, edi
call fcn.0042d57d
lea ecx, [ebp - 0x18]
call fcn.00418618
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.00402dc1
push 0xd8d000
lea ecx, [ebp - 0x44]
call fcn.00402fdb
push 0xd8d000
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x12
call fcn.00402fdb
mov byte [ebp - 4], 0x13
cmp dword [edi], esi
jne 0xa67c30
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x20
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x110]
test eax, eax
jge 0xa67c6d
push 0xd3bb98
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x12
call fcn.00402973
test eax, eax
pop ecx
jge 0xa67c85
push eax
call fcn.00be0541
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x44]
push eax
call fcn.00402973
test eax, eax
pop ecx
jge 0xa67d48
push eax
call fcn.00be0541
jmp 0xa67d48
mov ecx, dword [edi]
lea eax, [ebp - 0x1c]
push eax
call fcn.004170e0
mov dword [ebp - 0x14], eax
cmp dword [eax], esi
mov dword [ebp - 4], 0x14
jne 0xa67cc9
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call fcn.00403b7b
cmp eax, 0xff
setne byte [ebp - 0xd]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004185f1
cmp byte [ebp - 0xd], 0
je 0xa67d48
cmp dword [edi], esi
jne 0xa67cfc
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x14]
push eax
call fcn.004170e0
mov edi, eax
cmp dword [edi], esi
mov dword [ebp - 4], 0x15
jne 0xa67d1e
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov eax, dword [edi]
push esi
push 0xff
push edi
call dword [eax + 0x40]
cmp eax, esi
jge 0xa67d3c
push 0xd3b9f8
push edi
push eax
call fcn.00be054f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004185f1
lea edi, [ebx + 0x16a0]
xor esi, esi
cmp dword [edi], esi
jne 0xa67d5e
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x14], eax
cmp dword [edi], esi
jne 0xa67d74
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x14]
mov edi, dword [edi]
call fcn.0044a3b5
mov ecx, dword [edi]
push eax
push edi
call dword [ecx + 0xd8]
cmp eax, esi
jge 0xa67f1d
push 0xd3bb98
push edi
push eax
call fcn.00be054f
jmp 0xa67f1d
add edi, 0x10
push esi
mov ecx, edi
call fcn.0044d8ed
test al, al
jne 0xa67f1d
cmp dword [edi], esi
jne 0xa67dc2
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x1c]
push eax
call fcn.004170e0
mov dword [ebp - 0x14], eax
cmp dword [eax], esi
mov dword [ebp - 4], 0x16
jne 0xa67de5
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call fcn.00403b7b
test eax, eax
setne byte [ebp - 0xd]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004185f1
cmp byte [ebp - 0xd], 0
je 0xa67f1d
cmp dword [edi], esi
jne 0xa67e19
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x14]
push eax
call fcn.004170e0
mov edi, eax
cmp dword [edi], esi
mov dword [ebp - 4], 0x17
jne 0xa67e3b
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov eax, dword [edi]
push esi
push esi
push edi
call dword [eax + 0x40]
cmp eax, esi
jge 0xa67e55
push 0xd3b9f8
push edi
push eax
call fcn.00be054f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
jmp 0xa67f18
add edi, 0x10
push esi
mov ecx, edi
call fcn.0044d8ed
test al, al
jne 0xa67f1d
cmp dword [edi], esi
jne 0xa67e82
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x1c]
push eax
call fcn.004170e0
mov dword [ebp - 0x14], eax
cmp dword [eax], esi
mov dword [ebp - 4], 0x18
jne 0xa67ea5
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call fcn.00403b7b
test eax, eax
setne byte [ebp - 0xd]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004185f1
cmp byte [ebp - 0xd], 0
je 0xa67f1d
cmp dword [edi], esi
jne 0xa67ed5
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x14]
push eax
call fcn.004170e0
mov edi, eax
cmp dword [edi], esi
mov dword [ebp - 4], 0x19
jne 0xa67ef7
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov eax, dword [edi]
push esi
push esi
push edi
call dword [eax + 0x40]
cmp eax, esi
jge 0xa67f11
push 0xd3b9f8
push edi
push eax
call fcn.00be054f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004185f1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
mov ecx, dword [eax + 0x11cc]
mov eax, dword [ecx]
call dword [eax + 4]
test al, al
je 0xa681ab
mov eax, dword [ebx + 0x3698]
cmp eax, esi
je 0xa67f52
mov ecx, dword [ebp - 0x48]
sub ecx, eax
cmp ecx, 0x546
jb 0xa681ab
push 0x10
mov ecx, ebx
call fcn.00a7ac06
cmp dword [eax + 0x10], esi
lea edi, [eax + 0x10]
jne 0xa68103
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x44]
cdq
mov ecx, 0x3e8
idiv ecx
mov ecx, dword [0xd7c424]
dec eax
neg eax
sbb eax, eax
and eax, 0xff67908d
add eax, 0xe66864
push eax
call fcn.00824297
mov dword [ebp - 0x14], eax
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov ecx, dword [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.004375f8
push 0xd75b10
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0x1a
call fcn.00406a72
push esi
push 0xff
push 3
push ecx
mov eax, esp
mov dword [ebp - 0x4c], esp
push eax
lea ecx, [ebx + 0x88]
mov byte [ebp - 4], 0x1b
call fcn.0045c5c2
push esi
push esi
push ecx
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
mov ecx, ebx
mov byte [ebp - 4], 0x1c
call fcn.004d29c2
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 0x1d
call fcn.0044c51b
mov dword [ebp - 0x14], eax
lea ecx, [ebx + 0x16a0]
mov byte [ebp - 4], 0x1f
call fcn.0042d202
mov ecx, eax
call fcn.0044a3b5
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0040b649
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00445a43
add esp, 0x28
push dword [eax]
mov ecx, edi
call fcn.0042d57d
lea ecx, [ebp - 0x1c]
call fcn.00418618
lea ecx, [ebp - 0x24]
call fcn.00402dc1
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x20]
call fcn.00402dc1
push 0xd8d000
lea ecx, [ebp - 0x34]
call fcn.00402fdb
push 0xd8d000
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x20
call fcn.00402fdb
mov byte [ebp - 4], 0x21
cmp dword [edi], esi
jne 0xa68086
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x20
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x110]
test eax, eax
jge 0xa680c0
push 0xd3bb98
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0x20
call fcn.00402973
test eax, eax
pop ecx
jge 0xa680d8
push eax
call fcn.00be0541
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x1a
call fcn.00402973
test eax, eax
pop ecx
jge 0xa680f0
push eax
call fcn.00be0541
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
call fcn.00402dc1
xor esi, esi
jmp 0xa681a5
mov ecx, dword [edi]
lea eax, [ebp - 0x1c]
push eax
call fcn.004170e0
mov dword [ebp - 0x14], eax
cmp dword [eax], esi
mov dword [ebp - 4], 0x22
jne 0xa68126
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call fcn.00403b7b
cmp eax, 0xff
setne byte [ebp - 0xd]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004185f1
cmp byte [ebp - 0xd], 0
je 0xa681a5
cmp dword [edi], esi
jne 0xa68159
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x14]
push eax
call fcn.004170e0
mov edi, eax
cmp dword [edi], esi
mov dword [ebp - 4], 0x23
jne 0xa6817b
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov eax, dword [edi]
push esi
push 0xff
push edi
call dword [eax + 0x40]
cmp eax, esi
jge 0xa68199
push 0xd3b9f8
push edi
push eax
call fcn.00be054f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004185f1
mov dword [ebx + 0x3698], esi
push 0x12
mov ecx, ebx
call fcn.00a7ac06
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x14]
push eax
mov ecx, ebx
call fcn.004d29c2
mov edi, dword [eax]
lea eax, [edi - 0xc]
neg edi
sbb edi, edi
lea ecx, [ebp - 0x14]
and edi, eax
call fcn.004185f1
mov ecx, edi
call fcn.00a69f3b
test eax, eax
je 0xa6841a
mov eax, dword [ebp - 0x18]
lea edi, [eax + 0x10]
mov dword [ebp - 0x18], edi
cmp dword [edi], esi
je 0xa68248
jne 0xa681fd
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x14]
push eax
call fcn.004170e0
mov edi, eax
cmp dword [edi], esi
mov dword [ebp - 4], 0x24
jne 0xa6821f
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
call fcn.00403b7b
cmp eax, 0xff
setne byte [ebp - 0xd]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004185f1
cmp byte [ebp - 0xd], 0
je 0xa683bf
mov edi, dword [ebp - 0x18]
mov ecx, dword [0xd7c424]
push 0x4f5c6d
call fcn.00824297
push esi
push 0xff
push 3
push ecx
mov dword [ebp - 0x14], eax
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
lea ecx, [ebx + 0x88]
call fcn.0045c5c2
push esi
push esi
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push eax
mov ecx, ebx
mov dword [ebp - 4], 0x25
call fcn.004d29c2
mov eax, dword [ebx]
mov ecx, ebx
mov byte [ebp - 4], 0x26
call dword [eax + 4]
mov ecx, dword [ebp - 0x14]
movzx eax, al
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.00413ed0
mov dword [ebp - 0x14], eax
lea ecx, [ebx + 0x16a0]
mov byte [ebp - 4], 0x28
call fcn.0042d202
mov ecx, eax
call fcn.0044a3b5
mov ecx, dword [ebp - 0x14]
push eax
call fcn.0040b649
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.00445a43
add esp, 0x28
push dword [eax]
mov ecx, edi
call fcn.0042d57d
lea ecx, [ebp - 0x1c]
call fcn.00418618
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.00402dc1
mov edi, 0xd8d000
push edi
lea ecx, [ebp - 0x44]
call fcn.00402fdb
push edi
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x29
call fcn.00402fdb
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x2a
cmp dword [eax], esi
jne 0xa68326
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x20
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x110]
test eax, eax
jge 0xa68363
push 0xd3bb98
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x29
call fcn.00402973
test eax, eax
pop ecx
jge 0xa6837b
push eax
call fcn.00be0541
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x44]
push eax
call fcn.00402973
test eax, eax
pop ecx
jge 0xa68393
push eax
call fcn.00be0541
mov eax, dword [ebx + 0x369c]
test eax, eax
lea esi, [ebx + 0x369c]
je 0xa683aa
push eax
call fcn.00adee7a
pop ecx
push 0
push 0x2f
push 0x4f5c6d
call fcn.00ade949
add esp, 0xc
mov dword [esi], eax
xor esi, esi
cmp dword [ebx + 0x16a0], esi
lea edi, [ebx + 0x16a0]
jne 0xa683d7
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
cmp dword [edi], esi
jne 0xa683ed
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x14]
mov edi, dword [edi]
call fcn.0044a3b5
mov ecx, dword [edi]
push eax
push edi
call dword [ecx + 0xd8]
cmp eax, esi
jge 0xa686d3
push 0xd3bb98
push edi
push eax
call fcn.00be054f
jmp 0xa686d3
cmp dword [edi + 0x204], esi
jne 0xa685f8
cmp dword [edi + 0x208], esi
je 0xa685f8
mov eax, dword [ebx + 0x1728]
mov ecx, eax
add eax, 0xfffffff4
neg ecx
sbb ecx, ecx
and ecx, eax
cmp dword [ecx + 0x1a0], esi
je 0xa685f8
mov ecx, dword [0xd7c424]
push 0x4f5c6d
call fcn.00824297
push esi
push 0xff
push 3
push ecx
mov edi, eax
mov eax, esp
mov dword [ebp - 0x28], esp
push eax
lea ecx, [ebx + 0x88]
call fcn.0045c5c2
push esi
push esi
push ecx
mov eax, esp
mov dword [ebp - 0x38], esp
push eax
mov ecx, ebx
mov dword [ebp - 4], 0x2b
call fcn.004d29c2
lea eax, [ebp - 0x1c]
push eax
mov ecx, edi
mov byte [ebp - 4], 0x2c
call fcn.00437661
mov edi, eax
lea ecx, [ebx + 0x16a0]
mov byte [ebp - 4], 0x2e
call fcn.0042d202
mov ecx, eax
call fcn.0044a3b5
push eax
mov ecx, edi
call fcn.0040b649
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00445a43
mov ecx, dword [ebp - 0x18]
add esp, 0x28
push dword [eax]
add ecx, 0x10
mov dword [ebp - 0x18], ecx
call fcn.0042d57d
lea ecx, [ebp - 0x14]
call fcn.00418618
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00402dc1
mov edi, 0xd8d000
push edi
lea ecx, [ebp - 0x44]
call fcn.00402fdb
push edi
lea ecx, [ebp - 0x34]
mov dword [ebp - 4], 0x2f
call fcn.00402fdb
mov eax, dword [ebp - 0x18]
mov byte [ebp - 4], 0x30
cmp dword [eax], esi
jne 0xa68525
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ecx, dword [eax]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push eax
mov dword [ebp - 0x14], eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x110]
test eax, eax
jge 0xa68562
push 0xd3bb98
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x2f
call fcn.00402973
xor edi, edi
cmp eax, edi
pop ecx
jge 0xa6857c
push eax
call fcn.00be0541
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x44]
push eax
call fcn.00402973
cmp eax, edi
pop ecx
jge 0xa68594
push eax
call fcn.00be0541
mov esi, dword [ebp - 0x18]
cmp dword [esi], edi
jne 0xa685a5
push 0x80004003
call fcn.00be0541
mov ecx, dword [esi]
lea eax, [ebp - 0x14]
push eax
call fcn.004170e0
mov esi, eax
cmp dword [esi], edi
mov dword [ebp - 4], 0x31
jne 0xa685c7
push 0x80004003
call fcn.00be0541
mov esi, dword [esi]
mov eax, dword [esi]
push edi
push 0xfe
push esi
call dword [eax + 0x40]
cmp eax, edi
jge 0xa685e5
push 0xd3b9f8
push esi
push eax
call fcn.00be054f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004185f1
xor esi, esi
jmp 0xa686ba
mov eax, dword [ebp - 0x18]
lea edi, [eax + 0x10]
push esi
mov ecx, edi
call fcn.0044d8ed
test al, al
jne 0xa686ba
cmp dword [edi], esi
jne 0xa6861c
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x1c]
push eax
call fcn.004170e0
mov dword [ebp - 0x14], eax
cmp dword [eax], esi
mov dword [ebp - 4], 0x32
jne 0xa6863f
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call fcn.00403b7b
cmp eax, 0xff
sete byte [ebp - 0xd]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.004185f1
cmp byte [ebp - 0xd], 0
je 0xa686ba
cmp dword [edi], esi
jne 0xa68672
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x14]
push eax
call fcn.004170e0
mov edi, eax
cmp dword [edi], esi
mov dword [ebp - 4], 0x33
jne 0xa68694
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov eax, dword [edi]
push esi
push esi
push edi
call dword [eax + 0x40]
cmp eax, esi
jge 0xa686ae
push 0xd3b9f8
push edi
push eax
call fcn.00be054f
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x14]
call fcn.004185f1
mov eax, dword [ebx + 0x369c]
cmp eax, esi
lea edi, [ebx + 0x369c]
je 0xa686d3
push eax
call fcn.00adee7a
pop ecx
mov dword [edi], esi
lea ecx, [ebx + 0x88]
call fcn.0045cb3d
cmp dword [ebx + 0x169c], esi
lea edi, [ebx + 0x169c]
jne 0xa686f6
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
call fcn.0044a3b5
push eax
lea ecx, [ebx + 0x36bc]
call fcn.0066b36e
xor edi, edi
mov eax, dword [ebx + 0x29a0]
mov ecx, dword [edi + eax + 4]
cmp ecx, esi
je 0xa6871d
mov eax, dword [ecx]
call dword [eax]
add edi, 8
cmp edi, 0x18
jl 0xa6870b
mov eax, dword [ebx + 0x2a34]
cmp eax, esi
mov dword [ebp - 0x18], eax
je 0xa68817
mov eax, dword [ebp - 0x18]
mov ecx, eax
mov edx, eax
mov dword [ebp - 0x14], eax
add eax, 0xfffffff0
neg edx
sbb edx, edx
and edx, eax
mov eax, dword [edx + 4]
mov edx, eax
add eax, 0x10
neg edx
sbb edx, edx
and edx, eax
mov eax, dword [ecx + 4]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x28], eax
call fcn.00a7f992
mov eax, dword [ebp - 0x28]
push dword [eax + 0x44]
mov dword [ebp - 4], 0x34
xor edi, edi
call fcn.008315be
test eax, eax
pop ecx
je 0xa687cd
mov eax, dword [0xd808f0]
cmp eax, esi
je 0xa687cd
mov ecx, dword [ebp - 0x28]
lea edx, [ebp - 0x50]
mov edi, eax
mov eax, dword [ecx]
push edx
call dword [eax + 0x10]
push dword [eax + 4]
mov ecx, edi
push dword [eax]
call fcn.00733f18
mov edi, eax
cmp edi, esi
je 0xa687cd
mov eax, dword [edi + 0x164]
cmp dword [eax + 0x208], esi
jne 0xa687cb
cmp dword [edi + 0x300], esi
jne 0xa687cb
mov ecx, edi
call fcn.00728dd5
test eax, eax
je 0xa687cd
xor edi, edi
mov ecx, dword [ebp - 0x28]
cmp ecx, esi
je 0xa68802
cmp edi, esi
je 0xa687e0
mov edi, dword [edi + 0x160]
jmp 0xa687e2
xor edi, edi
push edi
call fcn.0062bf79
test eax, eax
je 0xa68802
lea ecx, [ebp - 0x2c]
call fcn.00a7f9af
push dword [ebp - 0x14]
lea ecx, [ebx + 0x2a28]
call fcn.00a80053
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x2c]
call fcn.00a7f9af
cmp dword [ebp - 0x18], esi
jne 0xa68736
push 3
push esi
lea ecx, [ebp - 0x34]
mov edi, 0x80004003
call fcn.00403001
cmp dword [ebx + 0x2a50], esi
mov dword [ebp - 4], 0x35
jne 0xa6883c
push edi
call fcn.00be0541
mov ecx, dword [ebx + 0x2a50]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.0042ab76
push esi
mov ecx, eax
mov byte [ebp - 4], 0x36
call fcn.004172fd
test al, al
jne 0xa68889
cmp dword [ebx + 0x2a50], esi
jne 0xa6886d
push edi
call fcn.00be0541
mov ecx, dword [ebx + 0x2a50]
call fcn.0043b9e6
neg eax
sbb al, al
inc al
mov byte [ebp - 0xd], al
je 0xa68889
mov byte [ebp - 0xd], 1
jmp 0xa6888d
and byte [ebp - 0xd], 0
lea ecx, [ebp - 0x14]
call fcn.004185fe
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x34]
push eax
call fcn.00402973
cmp eax, esi
pop ecx
jge 0xa688ad
push eax
call fcn.00be0541
cmp byte [ebp - 0xd], 0
je 0xa68907
push 3
push 0xfffffffffffffffe
lea ecx, [ebp - 0x34]
call fcn.00403001
cmp dword [ebx + 0x2a50], esi
mov dword [ebp - 4], 0x37
jne 0xa688d4
push edi
call fcn.00be0541
mov ecx, dword [ebx + 0x2a50]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00417115
lea ecx, [ebp - 0x14]
call fcn.004185fe
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x34]
push eax
call fcn.00402973
cmp eax, esi
pop ecx
jge 0xa68907
push eax
call fcn.00be0541
mov eax, dword [ebx + 0x3680]
cmp eax, esi
je 0xa68cb4
mov ecx, dword [ebp - 0x48]
sub ecx, dword [eax]
js 0xa68cb4
cmp dword [ebx + 0x464], esi
jne 0xa68cb4
mov eax, dword [eax + 0x10]
cmp eax, esi
je 0xa68940
mov eax, dword [eax]
cmp eax, esi
je 0xa68940
mov eax, dword [eax - 4]
shr eax, 1
jmp 0xa68942
xor eax, eax
cmp eax, esi
je 0xa6899b
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
test eax, eax
je 0xa68956
push 0x64
pop eax
jmp 0xa6897c
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x2c]
lea edi, [ebx + 4]
push ecx
mov ecx, edi
call dword [eax + 0x10]
push dword [eax + 4]
mov eax, dword [edi]
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, edi
call dword [eax + 0x10]
push dword [eax]
call fcn.00ade5b6
pop ecx
pop ecx
mov ecx, dword [ebx + 0x3680]
mov ecx, dword [ecx + 0x10]
cmp ecx, esi
je 0xa6898d
mov ecx, dword [ecx]
jmp 0xa6898f
xor ecx, ecx
push eax
push 0x27
push ecx
call fcn.00adf85e
add esp, 0xc
mov eax, dword [ebx + 0x3680]
mov eax, dword [eax + 0xc]
cmp eax, esi
je 0xa689b5
mov eax, dword [eax]
cmp eax, esi
je 0xa689b5
mov eax, dword [eax - 4]
shr eax, 1
jmp 0xa689b7
xor eax, eax
cmp eax, esi
je 0xa68ca9
mov eax, dword [ebx + 0x2a50]
push ecx
mov ecx, esp
mov dword [ebp - 0x28], esp
mov dword [ecx], eax
call fcn.0043816b
lea edi, [ebx + 0x367c]
mov ecx, edi
mov dword [ebp - 4], 0x38
call fcn.00a7f766
push dword [eax + 8]
mov ecx, edi
call fcn.00a7f766
push ecx
add eax, 0xc
mov ecx, esp
mov dword [ebp - 0x38], esp
push eax
call fcn.00404f9f
or dword [ebp - 4], 0xffffffff
call fcn.00a7f66d
mov ecx, eax
call fcn.00416f02
push 3
push esi
lea ecx, [ebp - 0x34]
call fcn.00403001
mov dword [ebp - 4], 0x3a
cmp dword [ebx + 0x2a50], esi
jne 0xa68a33
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebx + 0x2a50]
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.0042ab76
lea eax, [ebp - 0x34]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402973
cmp eax, esi
pop ecx
jge 0xa68a5e
push eax
call fcn.00be0541
push esi
lea ecx, [ebp - 0x20]
call fcn.004172fd
test al, al
jne 0xa68c9b
cmp dword [ebx + 0x2a50], 0
mov edi, dword [ebx + 0x3680]
jne 0xa68a88
push 0x80004003
call fcn.00be0541
mov esi, dword [ebx + 0x2a50]
mov ecx, dword [esi]
xor eax, eax
cmp dword [edi + 4], eax
sete al
push eax
push esi
call dword [ecx + 0xd8]
test eax, eax
jge 0xa68ab0
push 0xd3bb98
push esi
push eax
call fcn.00be054f
mov eax, dword [ebx + 0x3680]
cmp dword [eax + 8], 0x79
jne 0xa68b32
mov eax, dword [ebx + 0x168c]
push 1
push eax
lea ecx, [ebp - 0x58]
call fcn.00413c1f
mov byte [ebp - 4], 0x3d
cmp dword [ebx + 0x2a50], 0
jne 0xa68ae4
push 0x80004003
call fcn.00be0541
mov eax, dword [ebx + 0x2a50]
sub esp, 0x10
mov edi, esp
mov dword [ebp - 0x14], eax
mov ecx, dword [eax]
lea esi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
test eax, eax
jge 0xa68b11
push 0xd3bb88
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402973
test eax, eax
pop ecx
jge 0xa68bb2
push eax
call fcn.00be0541
jmp 0xa68bb2
lea eax, [ebp - 0x1c]
push eax
mov ecx, ebx
call fcn.004d29c2
mov eax, dword [eax]
push 1
push eax
lea ecx, [ebp - 0x58]
call fcn.00413c1f
mov byte [ebp - 4], 0x3f
cmp dword [ebx + 0x2a50], 0
jne 0xa68b61
push 0x80004003
call fcn.00be0541
mov eax, dword [ebx + 0x2a50]
sub esp, 0x10
mov edi, esp
mov dword [ebp - 0x14], eax
mov ecx, dword [eax]
lea esi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x64]
test eax, eax
jge 0xa68b8e
push 0xd3bb88
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0x3e
call fcn.00402973
test eax, eax
pop ecx
jge 0xa68ba6
push eax
call fcn.00be0541
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 0x3c
call fcn.004185f1
cmp dword [ebx + 0x428], 0x1d7aef
jne 0xa68bfb
cmp dword [ebx + 0x2a50], 0
jne 0xa68bd1
push 0x80004003
call fcn.00be0541
mov esi, dword [ebx + 0x2a50]
lea ecx, [ebx + 0x440]
call fcn.0042d5a8
mov ecx, dword [esi]
push eax
push 0
push esi
call dword [ecx + 0x44]
test eax, eax
jge 0xa68bfb
push 0xd3b9f8
push esi
push eax
call fcn.00be054f
mov esi, 0xd8d000
push esi
lea ecx, [ebp - 0x44]
call fcn.00402fdb
push esi
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 0x40
call fcn.00402fdb
mov byte [ebp - 4], 0x41
cmp dword [ebx + 0x2a50], 0
jne 0xa68c2d
push 0x80004003
call fcn.00be0541
mov eax, dword [ebx + 0x2a50]
sub esp, 0x10
mov edi, esp
mov dword [ebp - 0x14], eax
mov ecx, dword [eax]
lea esi, [ebp - 0x44]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x110]
test eax, eax
jge 0xa68c6b
push 0xd3bb98
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea eax, [ebp - 0x58]
push eax
mov byte [ebp - 4], 0x40
call fcn.00402973
test eax, eax
pop ecx
jge 0xa68c83
push eax
call fcn.00be0541
lea eax, [ebp - 0x44]
push eax
mov byte [ebp - 4], 0x3c
call fcn.00402973
test eax, eax
pop ecx
jge 0xa68c9b
push eax
call fcn.00be0541
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x20]
call fcn.004185fe
xor esi, esi
lea ecx, [ebx + 0x367c]
call fcn.00a7f8de
mov eax, dword [ebx + 0x3644]
cmp eax, esi
lea edi, [ebx + 0x3644]
jge 0xa68d21
push 2
mov ecx, ebx
call fcn.00a7ac06
lea ecx, [eax + 0x10]
push esi
mov dword [ebp - 0x14], ecx
call fcn.0044d8ed
test al, al
jne 0xa68e93
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x14], eax
cmp dword [eax], esi
jne 0xa68cf5
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x14]
mov ecx, dword [eax]
call fcn.0043b9e6
test eax, eax
jne 0xa68e93
mov eax, dword [edi]
cmp eax, 0xffffffff
jne 0xa68d12
xor eax, eax
jmp 0xa68d14
neg eax
push eax
mov ecx, ebx
call fcn.00a74618
jmp 0xa68e93
jle 0xa68e93
push 2
mov ecx, ebx
call fcn.00a7ac06
push 0xb
mov ecx, ebx
mov dword [ebp - 0x20], eax
call fcn.00a7ac06
mov dword [ebp - 0x24], eax
mov eax, dword [ebx + 0x2a18]
cmp eax, esi
je 0xa68d54
mov ecx, dword [ebp - 0x48]
sub ecx, eax
js 0xa68e21
mov ecx, dword [ebp - 0x48]
sub ecx, eax
cmp ecx, 0x12c
jle 0xa68d67
mov dword [ebx + 0x2a18], esi
mov ecx, ebx
call fcn.00a69f88
test eax, eax
jne 0xa68e21
mov eax, dword [ebp - 0x20]
cmp dword [eax + 0x10], esi
jne 0xa68d8f
cmp dword [ebx + 0x3648], esi
jne 0xa68d8f
push dword [edi]
mov ecx, ebx
call fcn.00a754c2
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x10], esi
jne 0xa68e53
cmp dword [ebx + 0x3648], esi
je 0xa68e53
mov eax, dword [edi]
cdq
mov ecx, 0x2710
idiv ecx
cmp eax, 0x224
jne 0xa68e16
push dword [ebx + 0x3654]
call fcn.00be1c90
test eax, eax
pop ecx
jbe 0xa68e16
xor eax, eax
mov ax, word [ebx + 0x365a]
push eax
xor eax, eax
mov ax, word [ebx + 0x3658]
push eax
push ecx
lea eax, [ebx + 0x3654]
mov ecx, esp
mov dword [ebp - 0x28], esp
push eax
call fcn.0042d265
push ecx
lea eax, [ebx + 0x3650]
mov ecx, esp
mov dword [ebp - 0x38], esp
push eax
mov dword [ebp - 4], 0x42
call fcn.0042d265
push dword [edi]
or dword [ebp - 4], 0xffffffff
mov ecx, ebx
call fcn.00a7ef11
jmp 0xa68e53
push dword [edi]
mov ecx, ebx
call fcn.00a75821
jmp 0xa68e53
mov eax, dword [ebp - 0x20]
push esi
lea ecx, [eax + 0x10]
call fcn.0044d8ed
test al, al
jne 0xa68e3a
push 2
mov ecx, ebx
call fcn.00a7ad1f
mov eax, dword [ebp - 0x24]
push esi
lea ecx, [eax + 0x10]
call fcn.0044d8ed
test al, al
jne 0xa68e53
push 0xb
mov ecx, ebx
call fcn.00a7ad1f
mov eax, dword [ebx + 0x365c]
cmp eax, esi
je 0xa68e93
cmp dword [eax - 4], esi
je 0xa68e93
push esi
lea ecx, [ebx + 0x88]
lea edi, [ebx + 0x3660]
call fcn.0045c590
cmp dword [edi], eax
je 0xa68e93
push esi
lea ecx, [ebx + 0x88]
call fcn.0045c590
push dword [ebx + 0x3644]
mov ecx, ebx
mov dword [edi], eax
call fcn.00a754c2
push esi
lea ecx, [ebx + 0x31c4]
call fcn.0044d8ed
test al, al
jne 0xa69034
mov dword [ebp - 0x18], 0x3a
mov eax, dword [ebp - 0x18]
shl eax, 5
lea eax, [eax + ebx + 0x2a74]
add eax, 0x10
mov dword [ebp - 0x24], eax
cmp dword [eax], esi
je 0xa69027
cmp dword [ebp - 0x18], 0x3a
jne 0xa68ff9
push 0xd8d000
lea ecx, [ebp - 0x34]
call fcn.00402fdb
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebx + 0x88]
mov dword [ebp - 4], 0x43
call fcn.00a69f00
mov edi, eax
cmp dword [edi], esi
mov byte [ebp - 4], 0x44
jne 0xa68f0a
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
sub esp, 0x10
mov edi, esp
xor ecx, ecx
push ecx
push ecx
push ecx
mov dword [ebp - 0x14], eax
mov edx, dword [eax]
push ecx
lea esi, [ebp - 0x34]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x20]
push ecx
push eax
movsd dword es:[edi], dword [esi]
call dword [edx + 0x8c]
test eax, eax
jge 0xa68f43
push 0xd3bb88
push dword [ebp - 0x14]
push eax
call fcn.00be054f
lea ecx, [ebp - 0x1c]
call fcn.004185f1
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x34]
push eax
call fcn.00402973
test eax, eax
pop ecx
jge 0xa68f63
push eax
call fcn.00be0541
push 0xd8d000
lea ecx, [ebp - 0x90]
call fcn.00402fdb
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], 0x45
cmp dword [eax], 0
jne 0xa68f8c
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
sub esp, 0x10
mov edi, esp
xor ecx, ecx
push ecx
push ecx
push ecx
mov dword [ebp - 0x14], eax
mov edx, dword [eax]
push ecx
lea esi, [ebp - 0x90]
movsd dword es:[edi], dword [esi]
push ecx
movsd dword es:[edi], dword [esi]
push ecx
push ecx
movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x38]
push ecx
push eax
movsd dword es:[edi], dword [esi]
call dword [edx + 0x8c]
test eax, eax
jge 0xa68fcb
push 0xd3bb88
push dword [ebp - 0x14]
push eax
call fcn.00be054f
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x90]
push eax
call fcn.00402973
test eax, eax
pop ecx
jge 0xa68fe6
push eax
call fcn.00be0541
mov ecx, dword [ebp - 0x20]
xor eax, eax
cmp ecx, dword [ebp - 0x38]
setge al
xor esi, esi
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x24]
mov edi, eax
cmp dword [edi], esi
jne 0xa69009
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
push dword [ebp - 0x14]
mov eax, dword [edi]
push edi
call dword [eax + 0xd8]
cmp eax, esi
jge 0xa69027
push 0xd3bb98
push edi
push eax
call fcn.00be054f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 0x5e
jl 0xa68eae
lea ecx, [ebx + 0x88]
call fcn.006f67a6
test eax, eax
je 0xa69054
mov eax, dword [ebx + 0x29dc]
cmp eax, esi
je 0xa69054
mov dword [eax + 4], 1
lea ecx, [ebx + 0x36a0]
call fcn.006a0d09
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x10]
test eax, eax
jne 0xa69eb6
mov dword [ebp - 0x5c], esi
mov edi, dword [ebx + 0x29cc]
mov dword [ebp - 4], 0x46
cmp edi, esi
je 0xa690d6
mov ecx, edi
mov eax, edi
add edi, 0xfffffff0
neg eax
sbb eax, eax
and eax, edi
mov dword [ebp - 0x38], ecx
mov eax, dword [eax + 4]
mov edx, eax
add eax, 0x10
neg edx
sbb edx, edx
and edx, eax
mov edi, edx
call fcn.0072c3aa
lea ecx, [ebp - 0x60]
call fcn.0072c3c7
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x5c], ecx
cmp dword [ecx + 0xcc], 3
jne 0xa690d0
mov eax, dword [ebx + 0x2978]
mov dword [ecx + 0xdc], eax
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx]
call dword [eax]
jmp 0xa6907e
lea edi, [ebx + 0x297c]
mov ecx, edi
call fcn.0042d5a8
test eax, eax
jle 0xa6910f
mov ecx, edi
mov dword [ebp - 0x38], edi
call fcn.0042d5a8
mov ecx, dword [ebp - 0x38]
mov edi, eax
sub edi, 0x1e
push edi
call fcn.0042d65d
cmp edi, esi
jge 0xa6910f
push esi
lea ecx, [ebx + 0x297c]
call fcn.0042d65d
lea ecx, [ebx + 0x297c]
call fcn.0042d5a8
test eax, eax
jge 0xa6914e
lea eax, [ebx + 0x297c]
mov ecx, eax
call fcn.0042d5a8
mov edi, eax
lea eax, [ebx + 0x297c]
add edi, 0x1e
push edi
mov ecx, eax
call fcn.0042d65d
cmp edi, esi
jle 0xa6914e
push esi
lea ecx, [ebx + 0x297c]
call fcn.0042d65d
mov eax, dword [ebx + 0x46c]
or dword [ebp - 0x18], 0xffffffff
lea edi, [ebx + 0x46c]
and eax, 0xfffffffe
cmp eax, 0x12
je 0xa69191
lea ecx, [ebx + 0x297c]
call fcn.0042d5a8
test eax, eax
jle 0xa69191
inc dword [ebx + 0x2a68]
lea eax, [ebx + 0x2a68]
mov eax, dword [eax]
and eax, 3
cmp al, 2
jae 0xa69191
mov dword [ebp - 0x18], 0xff808080
mov ecx, ebx
call fcn.0052f088
test eax, eax
jne 0xa691bd
mov ecx, ebx
call fcn.0052f0a7
test eax, eax
jne 0xa691bd
mov ecx, ebx
call fcn.0052f0c6
test eax, eax
jne 0xa691bd
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x18]
test eax, eax
je 0xa691c4
mov dword [ebp - 0x18], 0x80ffffff
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
test eax, eax
je 0xa691d2
mov dword [ebp - 0x18], esi
mov eax, dword [ebx + 0x2a18]
cmp eax, esi
je 0xa691e3
mov ecx, dword [ebp - 0x48]
sub ecx, eax
js 0xa691f8
mov ecx, dword [ebp - 0x48]
sub ecx, eax
cmp ecx, 0x12c
jle 0xa691fb
mov dword [ebx + 0x2a18], esi
jmp 0xa691fb
mov dword [ebp - 0x18], esi
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
push dword [eax + 0xda4]
add eax, 0xd9c
push eax
call fcn.00419768
cmp eax, esi
pop ecx
pop ecx
je 0xa69220
mov dword [ebp - 0x18], 0xff4682b4
mov eax, dword [edi]
and eax, 0xfffffffe
cmp eax, 0x12
jne 0xa69235
cmp dword [ebx + 0x29fc], esi
je 0xa69235
mov dword [ebp - 0x18], esi
cmp dword [ebx + 0x169c], esi
lea edi, [ebx + 0x169c]
jne 0xa6924d
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
push dword [ebp - 0x18]
mov eax, dword [edi]
push edi
call dword [eax + 0xe0]
cmp eax, esi
jge 0xa6926b
push 0xd3bb98
push edi
push eax
call fcn.00be054f
cmp dword [ebx + 0x16a0], esi
lea edi, [ebx + 0x16a0]
jne 0xa69283
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
push dword [ebp - 0x18]
mov eax, dword [edi]
push edi
call dword [eax + 0xe0]
cmp eax, esi
jge 0xa692a1
push 0xd3bb98
push edi
push eax
call fcn.00be054f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
push dword [eax + 0xda4]
add eax, 0xd9c
push eax
call fcn.00419768
cmp eax, esi
pop ecx
pop ecx
je 0xa69319
cmp dword [ebx + 0x1698], esi
lea edi, [ebx + 0x1698]
jne 0xa692d7
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x14]
push eax
call fcn.004170e0
mov dword [ebp - 0x38], eax
cmp dword [eax], esi
mov byte [ebp - 4], 0x47
jne 0xa692fa
push 0x80004003
call fcn.00be0541
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax]
call fcn.00403b7b
test eax, eax
lea ecx, [ebp - 0x14]
setg byte [ebp - 0xd]
mov byte [ebp - 4], 0x46
call fcn.004185f1
cmp byte [ebp - 0xd], 0
jne 0xa69375
cmp dword [ebx + 0x1698], esi
lea edi, [ebx + 0x1698]
jne 0xa69331
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x38]
push eax
call fcn.004170e0
mov edi, eax
cmp dword [edi], esi
mov byte [ebp - 4], 0x48
jne 0xa69350
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
call fcn.00403b7b
test eax, eax
lea ecx, [ebp - 0x38]
setg byte [ebp - 0xd]
mov byte [ebp - 4], 0x46
call fcn.004185f1
cmp byte [ebp - 0xd], 0
je 0xa693a1
lea edi, [ebx + 0x1698]
cmp dword [edi], esi
jne 0xa69383
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
push dword [ebp - 0x18]
mov eax, dword [edi]
push edi
call dword [eax + 0xe0]
cmp eax, esi
jge 0xa693a1
push 0xd3bb98
push edi
push eax
call fcn.00be054f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x1c]
test eax, eax
jne 0xa693b9
cmp dword [ebx + 0x464], esi
jne 0xa693b9
push 1
pop eax
jmp 0xa693bb
xor eax, eax
push eax
mov ecx, ebx
call fcn.006a4ea5
lea edi, [ebx + 0x2d64]
mov dword [ebp - 0x24], edi
mov dword [ebp - 0x18], 0xc
jmp 0xa693d7
xor esi, esi
mov ecx, dword [edi]
cmp ecx, esi
je 0xa696be
call fcn.00438086
and eax, 0xff000000
cmp eax, 0xd0000000
jbe 0xa6953b
cmp dword [edi], esi
jne 0xa69404
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
cmp eax, esi
mov dword [ebp - 0x38], eax
jne 0xa69417
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
call fcn.00438086
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0xe0]
cmp eax, esi
jge 0xa69443
push 0xd3bb98
push dword [ebp - 0x20]
push eax
call fcn.00be054f
push 0xd8d000
lea ecx, [ebp - 0x58]
call fcn.00402fdb
mov byte [ebp - 4], 0x49
cmp dword [edi], esi
jne 0xa69462
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov ecx, 0xd83800
call fcn.004197f1
xor edx, edx
mov ecx, 0x1f4
div ecx
mov ecx, edi
mov dword [ebp - 0x38], edx
call fcn.0043d017
mov ecx, dword [ebp - 0x38]
lea eax, [ecx + eax + 0xc8]
push 3
push eax
lea ecx, [ebp - 0x90]
call fcn.00403001
mov edi, dword [ebp - 0x24]
mov byte [ebp - 4], 0x4a
cmp dword [edi], esi
jne 0xa694ae
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x14]
push eax
call fcn.004170e0
mov edi, eax
cmp dword [edi], esi
mov byte [ebp - 4], 0x4b
jne 0xa694cd
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
sub esp, 0x10
mov edi, esp
mov dword [ebp - 0x38], eax
mov ecx, dword [eax]
lea esi, [ebp - 0x58]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x90]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
movsd dword es:[edi], dword [esi]
push 0
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0xa6950c
push 0xd3bb88
push dword [ebp - 0x38]
push eax
call fcn.00be054f
lea ecx, [ebp - 0x14]
call fcn.004185f1
lea eax, [ebp - 0x90]
push eax
mov byte [ebp - 4], 0x49
call fcn.00402973
test eax, eax
pop ecx
jge 0xa6952f
push eax
call fcn.00be0541
mov byte [ebp - 4], 0x46
lea eax, [ebp - 0x58]
jmp 0xa696ad
cmp dword [edi], esi
jne 0xa69549
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
call fcn.00438086
test eax, 0xff000000
jne 0xa696be
cmp dword [edi], esi
jne 0xa69569
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
cmp eax, esi
mov dword [ebp - 0x38], eax
jne 0xa6957c
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x20], eax
call fcn.00438086
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
push eax
push ecx
call dword [edx + 0xe0]
cmp eax, esi
jge 0xa695a8
push 0xd3bb98
push dword [ebp - 0x20]
push eax
call fcn.00be054f
push 0xd8d000
lea ecx, [ebp - 0x80]
call fcn.00402fdb
mov byte [ebp - 4], 0x4c
cmp dword [edi], esi
jne 0xa695c7
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov ecx, 0xd83800
call fcn.004197f1
xor edx, edx
mov ecx, 0x1f4
div ecx
mov ecx, edi
mov dword [ebp - 0x38], edx
call fcn.0043d017
mov ecx, dword [ebp - 0x38]
lea eax, [ecx + eax + 0x1f4]
push 3
push eax
lea ecx, [ebp - 0x70]
call fcn.00403001
mov ecx, 0xd83800
mov byte [ebp - 4], 0x4d
call fcn.004197f1
xor edx, edx
push 0x1e
pop ecx
div ecx
mov edi, dword [ebp - 0x24]
add edx, 0xe1
mov dword [ebp - 0x38], edx
cmp dword [edi], esi
jne 0xa6962a
push 0x80004003
call fcn.00be0541
mov ecx, dword [edi]
lea eax, [ebp - 0x28]
push eax
call fcn.004170e0
mov edi, eax
cmp dword [edi], esi
mov byte [ebp - 4], 0x4e
jne 0xa69649
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
sub esp, 0x10
mov edi, esp
mov dword [ebp - 0x1c], eax
mov ecx, dword [eax]
lea esi, [ebp - 0x80]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x70]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0
push dword [ebp - 0x38]
movsd dword es:[edi], dword [esi]
push eax
movsd dword es:[edi], dword [esi]
call dword [ecx + 0x90]
test eax, eax
jge 0xa69686
push 0xd3bb88
push dword [ebp - 0x1c]
push eax
call fcn.00be054f
lea ecx, [ebp - 0x28]
call fcn.004185f1
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 0x4c
call fcn.00402973
test eax, eax
pop ecx
jge 0xa696a6
push eax
call fcn.00be0541
mov byte [ebp - 4], 0x46
lea eax, [ebp - 0x80]
push eax
call fcn.00402973
test eax, eax
pop ecx
jge 0xa696be
push eax
call fcn.00be0541
mov edi, dword [ebp - 0x24]
add edi, 0x20
dec dword [ebp - 0x18]
mov dword [ebp - 0x24], edi
jne 0xa693d5
push 0
mov ecx, ebx
call fcn.00a7b9be
push dword [ebp - 0x48]
mov ecx, ebx
call fcn.00a6a022
cmp dword [ebx + 0x2a08], 0
lea edi, [ebx + 0x2a08]
je 0xa6976c
push 4
mov ecx, ebx
call fcn.00a7ac06
add eax, 0x40
and dword [edi], 0
mov dword [ebp - 0x24], 1
lea esi, [eax + 0x10]
cmp dword [esi], 0
jne 0xa6971a
push 0x80004003
call fcn.00be0541
mov ecx, dword [esi]
call fcn.0043b9e6
test eax, eax
jne 0xa69766
cmp dword [esi], eax
jne 0xa69733
push 0x80004003
call fcn.00be0541
mov eax, dword [esi]
push 0xffffff
mov dword [ebp - 0x28], eax
mov ecx, dword [eax]
push eax
call dword [ecx + 0xe0]
test eax, eax
jge 0xa69758
push 0xd3bb98
push dword [ebp - 0x28]
push eax
call fcn.00be054f
inc dword [ebp - 0x24]
add esi, 0x20
cmp dword [ebp - 0x24], 0xa
jle 0xa6970b
jmp 0xa6976c
mov dword [edi], 1
mov ecx, dword [ebx + 0x2a0c]
test ecx, ecx
lea eax, [ebx + 0x2a0c]
jle 0xa697b1
add ecx, 0xffffffe2
test ecx, ecx
mov dword [eax], ecx
jg 0xa697b1
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 8]
mov ecx, dword [eax + 0x11e4]
call fcn.005a2b21
push dword [eax]
lea ecx, [ebx + 0x88]
call fcn.004612b6
push dword [ebx + 0x3644]
mov ecx, ebx
call fcn.00a74618
mov eax, dword [ebx + 0x2a10]
test eax, eax
lea ecx, [ebx + 0x2a10]
jle 0xa699a6
add eax, 0xffffffe2
xor edi, edi
cmp dword [ebx + 0x2a14], edi
mov dword [ecx], eax
je 0xa697fe
cmp eax, edi
jg 0xa699a6
push 0x3ea
lea ecx, [ebx + 0x88]
call fcn.00460bac
push dword [ebx + 0x3644]
mov ecx, ebx
call fcn.00a74618
jmp 0xa699a6
cmp eax, 0x78
jle 0xa69846
cmp eax, 0xf0
jg 0xa69846
push edi
lea ecx, [ebx + 0x88]
call fcn.00460bac
push dword [ebx + 0x3644]
mov ecx, ebx
call fcn.00a74618
cmp dword [ebx + 0x169c], edi
lea esi, [ebx + 0x169c]
jne 0xa6983b
push 0x80004003
call fcn.00be0541
mov edi, dword [esi]
mov eax, dword [edi]
mov esi, 0x4dffffff
jmp 0xa69878
cmp eax, edi
jle 0xa69907
cmp eax, 0x78
jg 0xa698fd
cmp dword [ebx + 0x169c], edi
lea esi, [ebx + 0x169c]
jne 0xa6986f
push 0x80004003
call fcn.00be0541
mov edi, dword [esi]
mov eax, dword [edi]
mov esi, 0xb2ffffff
push esi
push edi
call dword [eax + 0xe0]
test eax, eax
jge 0xa69890
push 0xd3bb98
push edi
push eax
call fcn.00be054f
cmp dword [ebx + 0x16a0], 0
lea edi, [ebx + 0x16a0]
jne 0xa698a9
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov eax, dword [edi]
push esi
push edi
call dword [eax + 0xe0]
test eax, eax
jge 0xa698c5
push 0xd3bb98
push edi
push eax
call fcn.00be054f
cmp dword [ebx + 0x1698], 0
lea edi, [ebx + 0x1698]
jne 0xa698de
push 0x80004003
call fcn.00be0541
mov edi, dword [edi]
mov eax, dword [edi]
push esi
push edi
call dword [eax + 0xe0]
test eax, eax
jge 0xa699a6
push 0xd3bb98
push edi
jmp 0xa699a0
cmp eax, edi
jg 0xa699a6
xor edi, edi
cmp dword [ebx + 0x169c], edi
lea esi, [ebx + 0x169c]
jne 0xa6991f
push 0x80004003
call fcn.00be0541
mov esi, dword [esi]
mov eax, dword [esi]
push 0xffffffffffffffff
push esi
call dword [eax + 0xe0]
cmp eax, edi
jge 0xa6993c
push 0xd3bb98
push esi
push eax
call fcn.00be054f
cmp dword [ebx + 0x16a0], edi
lea esi, [ebx + 0x16a0]
jne 0xa69954
push 0x80004003
call fcn.00be0541
mov esi, dword [esi]
mov eax, dword [esi]
push 0xffffffffffffffff
push esi
call dword [eax + 0xe0]
cmp eax, edi
jge 0xa69971
push 0xd3bb98
push esi
push eax
call fcn.00be054f
cmp dword [ebx + 0x1698], edi
lea esi, [ebx + 0x1698]
jne 0xa69989
push 0x80004003
call fcn.00be0541
mov esi, dword [esi]
mov eax, dword [esi]
push 0xffffffffffffffff
push esi
call dword [eax + 0xe0]
cmp eax, edi
jge 0xa699a6
push 0xd3bb98
push esi
push eax
call fcn.00be054f
mov ecx, dword [ebx + 0x29f8]
test ecx, ecx
je 0xa699b4
mov eax, dword [ecx]
call dword [eax]
mov eax, dword [ebx + 4]
lea ecx, [ebp - 0x50]
lea esi, [ebx + 4]
push ecx
mov ecx, esi
call dword [eax + 0x14]
lea ecx, [ebp - 0x2c]
mov edi, eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10]
mov eax, dword [eax]
cmp eax, dword [edi]
jne 0xa699ff
mov eax, dword [esi]
lea ecx, [ebp - 0x50]
push ecx
mov ecx, esi
call dword [eax + 0x14]
lea ecx, [ebp - 0x2c]
mov edi, eax
mov eax, dword [esi]
push ecx
mov ecx, esi
call dword [eax + 0x10]
mov eax, dword [eax + 4]
cmp eax, dword [edi + 4]
jne 0xa699ff
add dword [ebx + 0x36cc], 0x1e
jmp 0xa69a06
and dword [ebx + 0x36cc], 0
call fcn.0043d78a
cmp dword [ebx + 0x36cc], 0x927c0
jl 0xa69a58
mov edi, dword [ebp - 0x48]
cmp dword [ebx + 0x36d0], edi
lea esi, [ebx + 0x36d0]
jg 0xa69a5b
test eax, eax
je 0xa69a5b
lea ecx, [eax + 0x14c]
call fcn.00524d81
cmp eax, 0x363d7f80
jl 0xa69a45
cmp eax, 0x363d7f96
jle 0xa69a5b
push 2
mov ecx, ebx
call fcn.00a7cd84
lea eax, [edi + 0x1d4c0]
mov dword [esi], eax
jmp 0xa69a5b
mov edi, dword [ebp - 0x48]
mov ecx, dword [ebx + 0x3710]
test ecx, ecx
lea eax, [ebx + 0x3710]
je 0xa69a73
cmp edi, ecx
jle 0xa69d59
and dword [eax], 0
and dword [ebp - 0x18], 0
lea esi, [ebx + 0x3714]
cmp dword [esi], 0
mov edi, 0xd8d000
je 0xa69d59
push dword [ebp - 0x18]
lea eax, [ebp - 0x24]
push eax
mov ecx, ebx
call fcn.00a6615e
push 3
push 0xfffffffffffffffe
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 0x4f
call fcn.00403001
mov byte [ebp - 4], 0x50
cmp dword [esi], 0
jne 0xa69abf
push 0x80004003
call fcn.00be0541
mov ecx, dword [esi]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x28]
push eax
call fcn.00417115
lea ecx, [ebp - 0x28]
call fcn.004185fe
lea eax, [ebp - 0x80]
push eax
mov byte [ebp - 4], 0x4f
call fcn.00402973
test eax, eax
pop ecx
jge 0xa69aee
push eax
call fcn.00be0541
push 3
push 0
lea ecx, [ebp - 0x70]
call fcn.00403001
cmp dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x51
jne 0xa69b0e
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.0042ab76
push 0
mov ecx, eax
mov byte [ebp - 4], 0x52
call fcn.004172fd
neg al
sbb al, al
inc al
lea ecx, [ebp - 0x38]
mov byte [ebp - 0xd], al
call fcn.004185fe
lea eax, [ebp - 0x70]
push eax
mov byte [ebp - 4], 0x4f
call fcn.00402973
test eax, eax
pop ecx
jge 0xa69b54
push eax
call fcn.00be0541
cmp byte [ebp - 0xd], 0
je 0xa69cec
push edi
lea ecx, [ebp - 0xa0]
call fcn.00402fdb
push edi
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 0x53
call fcn.00402fdb
push edi
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 0x54
call fcn.00402fdb
push edi
lea ecx, [ebp - 0xd0]
mov byte [ebp - 4], 0x55
call fcn.00402fdb
push edi
lea ecx, [ebp - 0xb0]
mov byte [ebp - 4], 0x56
call fcn.00402fdb
push 3
push 0
lea ecx, [ebp - 0xe0]
mov byte [ebp - 4], 0x57
call fcn.00403001
cmp dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x58
jne 0xa69bd1
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.0042ab76
mov edi, dword [eax]
mov byte [ebp - 4], 0x59
cmp dword [esi], 0
jne 0xa69bf9
push 0x80004003
call fcn.00be0541
mov ecx, dword [esi]
lea eax, [ebp - 0xa0]
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xf0]
push eax
lea eax, [ebp - 0xd0]
push eax
lea eax, [ebp - 0xb0]
push eax
push edi
lea eax, [ebp - 0x100]
push eax
call fcn.0042b9f2
lea eax, [ebp - 0x100]
push eax
call fcn.00402973
test eax, eax
pop ecx
jge 0xa69c42
push eax
call fcn.00be0541
lea ecx, [ebp - 0x4c]
call fcn.004185fe
lea eax, [ebp - 0xe0]
push eax
mov byte [ebp - 4], 0x57
call fcn.00402973
test eax, eax
pop ecx
jge 0xa69c65
push eax
call fcn.00be0541
lea eax, [ebp - 0xb0]
push eax
mov byte [ebp - 4], 0x56
call fcn.00402973
test eax, eax
pop ecx
jge 0xa69c80
push eax
call fcn.00be0541
lea eax, [ebp - 0xd0]
push eax
mov byte [ebp - 4], 0x55
call fcn.00402973
test eax, eax
pop ecx
jge 0xa69c9b
push eax
call fcn.00be0541
lea eax, [ebp - 0xf0]
push eax
mov byte [ebp - 4], 0x54
call fcn.00402973
test eax, eax
pop ecx
jge 0xa69cb6
push eax
call fcn.00be0541
lea eax, [ebp - 0xc0]
push eax
mov byte [ebp - 4], 0x53
call fcn.00402973
test eax, eax
pop ecx
jge 0xa69cd1
push eax
call fcn.00be0541
lea eax, [ebp - 0xa0]
push eax
mov byte [ebp - 4], 0x4f
call fcn.00402973
test eax, eax
pop ecx
jge 0xa69cec
push eax
call fcn.00be0541
cmp dword [ebx + 0x16a0], 0
lea edi, [ebx + 0x16a0]
jne 0xa69d05
push 0x80004003
call fcn.00be0541
mov eax, dword [edi]
mov dword [ebp - 0x14], eax
cmp dword [esi], 0
jne 0xa69d19
push 0x80004003
call fcn.00be0541
mov ecx, dword [ebp - 0x14]
mov edi, dword [esi]
call fcn.0044a3b5
mov ecx, dword [edi]
push eax
push edi
call dword [ecx + 0xd8]
test eax, eax
jge 0xa69d3d
push 0xd3bb98
push edi
push eax
call fcn.00be054f
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 0x46
call fcn.00418618
inc dword [ebp - 0x18]
add esi, 4
cmp dword [ebp - 0x18], 5
jl 0xa69a80
lea esi, [ebx + 0x36dc]
xor edi, edi
cmp dword [esi], edi
je 0xa69d9d
jne 0xa69d71
push 0x80004003
call fcn.00be0541
mov esi, dword [esi]
lea ecx, [ebx + 0x88]
call fcn.006f67a6
mov ecx, dword [esi]
neg eax
sbb eax, eax
inc eax
push eax
push esi
call dword [ecx + 0x11c]
cmp eax, edi
jge 0xa69d9d
push 0xd3bb98
push esi
push eax
call fcn.00be054f
cmp dword [ebx + 0x36e0], edi
lea esi, [ebx + 0x36e0]
je 0xa69dca
lea ecx, [ebx + 0x88]
call fcn.006f67a6
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, esi
call fcn.0042d202
mov ecx, eax
call fcn.00a69f64
lea esi, [ebx + 0x370c]
mov ecx, esi
call fcn.00a7f665
test al, al
je 0xa69dfa
lea ecx, [ebx + 0x88]
call fcn.006f67a6
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, esi
call fcn.0042d202
mov ecx, eax
call fcn.00a69f64
lea esi, [ebx + 0x36e4]
mov ecx, esi
call fcn.00a7f665
test al, al
je 0xa69e6d
lea ecx, [ebx + 0x16a0]
call fcn.0042d202
mov ecx, eax
call fcn.0044a3b5
mov ecx, esi
mov edi, eax
call fcn.0042d202
mov ecx, eax
call fcn.0044a3b5
cmp edi, eax
je 0xa69e52
lea ecx, [ebx + 0x16a0]
call fcn.0042d202
mov ecx, eax
call fcn.0044a3b5
push eax
mov ecx, esi
call fcn.0042d202
mov ecx, eax
call fcn.00463b81
mov ecx, ebx
call fcn.004d1f11
neg eax
sbb eax, eax
inc eax
push eax
mov ecx, esi
call fcn.0042d202
mov ecx, eax
call fcn.00a69f64
push dword [ebp - 0x48]
mov ecx, ebx
call fcn.00a7e199
lea esi, [ebx + 0x88]
mov ecx, esi
call fcn.0045c270
cmp eax, 0xd5
jne 0xa69eaa
mov ecx, ebx
call fcn.00a69fbb
test eax, eax
je 0xa69eaa
mov ecx, esi
call fcn.00a69f25
mov eax, dword [esi]
push 0
push 0x64
push 6
mov ecx, esi
call dword [eax + 0x14]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60]
call fcn.0072bfdd
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
leave
ret