Function at 0x10002180
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1004040b
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x2a0
mov eax, dword [0x10055050]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x1f0], edi
lea esi, [edi + 0x1c]
mov dword [ebp - 0x190], 0
push esi
lea ecx, [ebp - 0x160]
call fcn.10006880
mov dword [ebp - 4], 0
lea edx, [ebp - 0x198]
mov dword [ebp - 0x198], 0x70747468
lea ecx, [edx + 1]
mov dword [ebp - 0x194], 0x2f2f3a
mov al, byte [edx]
inc edx
test al, al
jne 0x10002206
sub edx, ecx
cmp dword [esi + 0x14], 0x10
mov ecx, esi
jb 0x10002219
mov ecx, dword [esi]
mov esi, dword [esi + 0x10]
lea eax, [ebp - 0x198]
push edx
push eax
push 0
mov edx, esi
call fcn.10006e20
add esp, 0xc
cmp eax, 0xffffffff
je 0x10002333
mov dword [ebp - 0x198], 0x70747468
mov dword [ebp - 0x194], 0x2f2f3a
lea edx, [ebp - 0x198]
mov byte [ebp - 4], 1
lea ecx, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x10002260
sub edx, ecx
cmp dword [edi + 0x30], 0x10
lea ecx, [edi + 0x1c]
jb 0x10002275
mov ecx, dword [edi + 0x1c]
push edx
lea eax, [ebp - 0x198]
mov edx, esi
push eax
push 0
call fcn.10006e20
add esp, 0xc
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
lea ecx, [eax + 7]
cmp esi, ecx
jb 0x10003ead
sub esi, ecx
lea edx, [edi + 0x1c]
or eax, 0xffffffff
cmp esi, 0xffffffff
cmovb eax, esi
cmp dword [edi + 0x30], 0x10
jb 0x100022c9
mov edx, dword [edi + 0x1c]
push eax
lea eax, [edx + ecx]
push eax
lea ecx, [ebp - 0x1e4]
call fcn.10001910
lea eax, [ebp - 0x1e4]
mov dword [ebp - 0x190], 4
push eax
lea ecx, [ebp - 0x160]
call fcn.10006800
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x1000232f
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10002325
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov byte [ebp - 4], 0
cmp dword [ebp - 0x14c], 0x10
lea ecx, [ebp - 0x160]
mov edx, dword [ebp - 0x150]
cmovae ecx, dword [ebp - 0x160]
setae byte [ebp - 0x185]
push 1
push 0x1004e814
push 0
call fcn.10006e20
mov esi, eax
mov dword [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x150]
add esp, 0xc
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
cmp eax, esi
jb 0x10003eb2
sub eax, esi
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp byte [ebp - 0x185], 0
lea eax, [ebp - 0x160]
cmovne eax, dword [ebp - 0x160]
push ecx
add eax, esi
lea ecx, [ebp - 0x1e4]
push eax
call fcn.10001910
or dword [ebp - 0x190], 8
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [edi + 0x4c]
call fcn.10006800
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x10002411
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10002407
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
add esp, 8
cmp dword [ebp - 0x150], esi
lea eax, [ebp - 0x160]
lea ecx, [ebp - 0x1e4]
mov dword [ebp - 0x1e4], 0
cmovb esi, dword [ebp - 0x150]
cmp dword [ebp - 0x14c], 0x10
push esi
cmovae eax, dword [ebp - 0x160]
push eax
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
call fcn.10001910
lea ecx, [ebp - 0x1e4]
push ecx
lea ecx, [edi + 0x34]
call fcn.10006800
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x100024a6
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000249c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov ecx, 0x53
xor edx, edx
nop dword [eax]
mov al, byte [edx + 0x1004e818]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x19c], al
and ecx, 0x800000ff
jns 0x100024d0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xb
jl 0x100024b0
mov byte [ebp - 0x191], 0
mov byte [ebp - 4], 2
mov eax, 0x7fffffff
mov ecx, dword [edi + 0x14]
sub eax, ecx
cmp eax, 1
jb 0x10003eb7
cmp dword [edi + 0x18], 0x10
lea eax, [edi + 4]
jb 0x10002500
mov eax, dword [edi + 4]
push 1
push 0x1004e824
push ecx
push eax
push ecx
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x130]
call fcn.10007100
lea eax, [edi + 0x1c]
mov byte [ebp - 4], 3
push eax
lea edx, [ebp - 0x130]
lea ecx, [ebp - 0x1e4]
call fcn.100069c0
add esp, 4
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 4
push ecx
mov ecx, eax
call fcn.10006790
or dword [ebp - 0x190], 0x70
lea esi, [edi + 0x80]
mov ecx, esi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x208], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x208]
push eax
movq qword [ebp - 0x1f8], xmm0
call fcn.10006800
mov edx, dword [ebp - 0x1f4]
cmp edx, 0x10
jb 0x100025c6
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100025bc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ebc
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x10002604
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100025fa
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ebc
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
mov byte [ebp - 0x1e4], 0
cmp edx, 0x10
jb 0x1000265d
mov ecx, dword [ebp - 0x130]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10002653
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ebc
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov ecx, 0xd5
xor edx, edx
mov al, byte [edx + 0x1004e828]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1ec], al
and ecx, 0x800000ff
jns 0x10002684
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x21
jl 0x10002664
mov byte [ebp - 0x1cb], 0
sub esp, 0x18
mov byte [ebp - 4], 5
mov edx, esp
mov dword [ebp - 0x194], esp
lea ecx, [ebp - 0x1ec]
lea eax, [ecx + 1]
mov dword [ebp - 0x1a0], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100026c3
sub ecx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x1ec]
push ecx
push eax
mov ecx, edx
call fcn.10001910
mov ecx, 0x33
xor edx, edx
mov al, byte [edx + str.p__BRVM]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x1c8], al
and ecx, 0x800000ff
jns 0x10002706
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xc
jl 0x100026e6
mov byte [ebp - 0x1bc], 0
sub esp, 0x18
mov byte [ebp - 4], 7
mov edx, esp
lea ecx, [ebp - 0x1c8]
lea eax, [ecx + 1]
mov dword [ebp - 0x1a0], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002740
sub ecx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x1c8]
push ecx
push eax
mov ecx, edx
call fcn.10001910
mov ecx, edi
mov byte [ebp - 4], 8
call fcn.10003ee0
mov ecx, 0x22
xor edx, edx
nop
mov al, byte [edx + str.oLLJKI]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x2b0], al
and ecx, 0x800000ff
jns 0x10002790
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0x6d
jl 0x10002770
mov byte [ebp - 0x243], 0
sub esp, 0x18
mov byte [ebp - 4], 9
mov edx, esp
mov dword [ebp - 0x194], esp
lea ecx, [ebp - 0x2b0]
lea eax, [ecx + 1]
mov dword [ebp - 0x1a0], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100027d0
sub ecx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x2b0]
push ecx
push eax
mov ecx, edx
call fcn.10001910
mov dword [ebp - 0x1c8], 0x72657355
mov dword [ebp - 0x1c4], 0x6567412d
mov word [ebp - 0x1c0], 0x746e
mov byte [ebp - 0x1be], 0
sub esp, 0x18
mov byte [ebp - 4], 0xb
mov edx, esp
lea ecx, [ebp - 0x1c8]
lea eax, [ecx + 1]
mov dword [ebp - 0x1a0], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002840
sub ecx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x1c8]
push ecx
push eax
mov ecx, edx
call fcn.10001910
mov ecx, edi
mov byte [ebp - 4], 0xc
call fcn.10003ee0
sub esp, 0x18
mov byte [ebp - 4], 0
lea eax, [edi + 0x34]
mov dword [ebp - 0x194], esp
mov ecx, esp
push eax
call fcn.10006880
mov dword [ebp - 0x1c0], 0x74736f48
mov byte [ebp - 0x1bc], 0
sub esp, 0x18
mov byte [ebp - 4], 0xe
mov edx, esp
lea ecx, [ebp - 0x1c0]
lea eax, [ecx + 1]
mov dword [ebp - 0x1a0], eax
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100028c0
sub ecx, dword [ebp - 0x1a0]
lea eax, [ebp - 0x1c0]
push ecx
push eax
mov ecx, edx
call fcn.10001910
mov ecx, edi
mov byte [ebp - 4], 0xf
call fcn.10003ee0
mov byte [ebp - 4], 0
lea edx, [ebp - 0x1b4]
lea ecx, [edi + 4]
mov dword [ebp - 0x1b4], 0x544547
call fcn.10006a70
test al, al
je 0x10002acb
mov ecx, dword [edi + 0x74]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x70]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10002c81
push 1
lea esi, [edi + 0x98]
push 0x1004e8d0
mov ecx, esi
call fcn.10001910
xor ecx, ecx
mov eax, 0x2aaaaaab
mov dword [ebp - 0x1b4], ecx
mov ecx, dword [edi + 0x74]
sub ecx, dword [edi + 0x70]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10002c7b
xor ecx, ecx
mov dword [ebp - 0x18c], ecx
nop dword [eax]
add ecx, dword [edi + 0x70]
mov eax, 0x7fffffff
mov edx, dword [ecx + 0x10]
sub eax, edx
cmp eax, 1
jb 0x10003eb7
cmp dword [ecx + 0x14], 0x10
jb 0x1000298e
mov ecx, dword [ecx]
push 1
push 0x1004e8d4
push edx
push ecx
push ecx
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x1e4]
call fcn.10007100
or dword [ebp - 0x190], 0x80
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x1e4]
cmp dword [ebp - 0x1d0], 0x10
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [esi + 0x10]
cmovae edx, eax
mov dword [ebp - 0x1a0], eax
mov eax, dword [esi + 0x14]
sub eax, ecx
mov dword [ebp - 0x1a4], ecx
mov ecx, dword [ebp - 0x1d4]
cmp ecx, eax
ja 0x10002a39
mov eax, dword [ebp - 0x1a4]
add eax, ecx
mov dword [ebp - 0x1c0], esi
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], eax
jb 0x10002a0a
mov eax, dword [esi]
mov dword [ebp - 0x1c0], eax
mov esi, dword [ebp - 0x1c0]
add esi, dword [ebp - 0x1a4]
push ecx
push edx
push esi
call fcn.1001e980
mov eax, dword [ebp - 0x1d4]
add esp, 0xc
mov ecx, dword [ebp - 0x1a0]
mov byte [eax + esi], 0
lea esi, [edi + 0x98]
jmp 0x10002a56
push ecx
push edx
mov byte [ebp - 0x1aa], 0
push dword [ebp - 0x1aa]
push ecx
mov ecx, esi
call fcn.10006f90
mov ecx, dword [ebp - 0x1e4]
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x10
jb 0x10002a90
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x10002a86
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov ecx, dword [edi + 0x74]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x70]
add dword [ebp - 0x18c], 0x18
inc dword [ebp - 0x1b4]
imul ecx
mov ecx, dword [ebp - 0x18c]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x1b4], eax
jb 0x10002970
jmp 0x10002c7b
lea edx, [ebp - 0x198]
mov dword [ebp - 0x198], 0x54534f50
lea ecx, [edi + 4]
mov byte [ebp - 0x194], 0
call fcn.10006a70
test al, al
je 0x10002c81
mov ecx, dword [edi + 0x74]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x70]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10002c81
xor ecx, ecx
lea edx, [edi + 0xb0]
xor esi, esi
mov dword [ebp - 0x1b4], ecx
mov dword [ebp - 0x18c], esi
mov ecx, dword [edi + 0x70]
add ecx, esi
mov esi, ecx
mov dword [ebp - 0x1a4], ecx
cmp dword [ecx + 0x14], 0x10
jb 0x10002b40
mov esi, dword [ecx]
mov dword [ebp - 0x1a4], esi
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x10]
mov dword [ebp - 0x1c0], eax
mov eax, dword [edx + 0x14]
sub eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x1ac], ecx
cmp ecx, eax
ja 0x10002b93
cmp dword [edx + 0x14], 0x10
mov esi, dword [ebp - 0x1c0]
lea eax, [esi + ecx]
mov dword [edx + 0x10], eax
mov eax, edx
jb 0x10002b75
mov eax, dword [edx]
push ecx
push dword [ebp - 0x1a4]
add esi, eax
push esi
call fcn.1001e980
mov eax, dword [ebp - 0x1ac]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x10002baa
push ecx
push esi
mov byte [ebp - 0x1a0], 0
push dword [ebp - 0x1a0]
push ecx
mov ecx, edx
call fcn.10006f90
mov ecx, dword [edi + 0x74]
mov eax, 0x2aaaaaab
sub ecx, dword [edi + 0x70]
mov esi, dword [ebp - 0x18c]
inc dword [ebp - 0x1b4]
add esi, 0x18
imul ecx
mov dword [ebp - 0x18c], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [edi + 0xb0]
cmp dword [ebp - 0x1b4], eax
jb 0x10002b25
mov edx, dword [edi + 0xc0]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x194], esp
call fcn.10001c30
mov ecx, 0x75
xor edx, edx
mov al, byte [edx + 0x1004e8d8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x218], al
and ecx, 0x800000ff
jns 0x10002c25
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x10002c05
mov byte [ebp - 0x20a], 0
sub esp, 0x18
mov byte [ebp - 4], 0x12
mov edx, esp
lea ecx, [ebp - 0x218]
lea esi, [ecx + 1]
mov dword [edx], 0
mov dword [edx + 0x10], 0
mov dword [edx + 0x14], 0xf
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002c58
sub ecx, esi
lea eax, [ebp - 0x218]
push ecx
push eax
mov ecx, edx
call fcn.10001910
mov ecx, edi
mov byte [ebp - 4], 0x13
call fcn.10003ee0
lea esi, [edi + 0x80]
mov ecx, 0xe5
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + 0x1004e8e8]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x19c], al
and ecx, 0x800000ff
jns 0x10002cb0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xb
jl 0x10002c90
mov byte [ebp - 0x191], 0
lea edx, [edi + 4]
mov byte [ebp - 4], 0x14
mov ecx, dword [edx + 0x10]
mov eax, 0x7fffffff
sub eax, ecx
cmp eax, 1
jb 0x10003ec1
cmp dword [edx + 0x14], 0x10
jb 0x10002cdf
mov edx, dword [edx]
push 1
push 0x1004e824
push ecx
push edx
push ecx
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x220]
call fcn.10007100
lea eax, [edi + 0x1c]
mov byte [ebp - 4], 0x15
push eax
lea edx, [ebp - 0x220]
lea ecx, [ebp - 0x208]
call fcn.100069c0
add esp, 4
lea ecx, [edi + 0x98]
mov byte [ebp - 4], 0x16
push ecx
mov edx, eax
lea ecx, [ebp - 0x1e4]
call fcn.100069c0
add esp, 4
lea ecx, [ebp - 0x19c]
mov byte [ebp - 4], 0x17
push ecx
mov ecx, eax
call fcn.10006790
or dword [ebp - 0x190], 0x300
mov ecx, esi
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x130], xmm0
movq xmm0, qword [eax + 0x10]
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
lea eax, [ebp - 0x130]
push eax
movq qword [ebp - 0x120], xmm0
call fcn.10006800
mov edx, dword [ebp - 0x11c]
cmp edx, 0x10
jb 0x10002dbd
mov ecx, dword [ebp - 0x130]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10002db3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ec6
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov byte [ebp - 4], 0x16
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x10002dfb
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10002df1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ec6
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x1f4]
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
mov byte [ebp - 0x1e4], 0
cmp edx, 0x10
jb 0x10002e54
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10002e4a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ec6
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov byte [ebp - 4], 0x14
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp edx, 0x10
jb 0x10002ead
mov ecx, dword [ebp - 0x220]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10002ea3
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ec6
push edx
push ecx
call fcn.1001d11d
add esp, 8
xor ecx, ecx
mov eax, 0x2aaaaaab
mov dword [ebp - 0x1b4], ecx
mov ecx, dword [edi + 0x68]
sub ecx, dword [edi + 0x64]
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x10003086
xor ecx, ecx
mov dword [ebp - 0x1a4], ecx
nop word [eax + eax]
mov word [ebp - 0x18c], 0xa0d
mov byte [ebp - 0x18a], 0
mov byte [ebp - 4], 0x18
mov edx, dword [edi + 0x64]
add edx, ecx
lea ecx, [ebp - 0x18c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x1c0], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x1ac], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10002f11
sub ecx, dword [ebp - 0x1ac]
mov eax, 0x7fffffff
sub eax, dword [ebp - 0x1c0]
cmp eax, ecx
jb 0x10003eb7
cmp dword [edx + 0x14], 0x10
jb 0x10002f39
mov edx, dword [edx]
push ecx
lea eax, [ebp - 0x18c]
push eax
push dword [ebp - 0x1c0]
push edx
push ecx
push dword [ebp - 0x1f0]
lea ecx, [ebp - 0x1e4]
call fcn.10007100
or dword [ebp - 0x190], 0x400
mov byte [ebp - 4], 0x19
lea edx, [ebp - 0x1e4]
cmp dword [ebp - 0x1d0], 0x10
mov eax, dword [ebp - 0x1e4]
mov ecx, dword [esi + 0x10]
cmovae edx, eax
mov dword [ebp - 0x1ac], eax
mov eax, dword [esi + 0x14]
sub eax, ecx
mov dword [ebp - 0x1c0], ecx
mov ecx, dword [ebp - 0x1d4]
cmp ecx, eax
ja 0x10002fea
mov eax, dword [ebp - 0x1c0]
add eax, ecx
mov dword [ebp - 0x1a0], esi
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], eax
jb 0x10002fbb
mov eax, dword [esi]
mov dword [ebp - 0x1a0], eax
mov esi, dword [ebp - 0x1a0]
add esi, dword [ebp - 0x1c0]
push ecx
push edx
push esi
call fcn.1001e980
mov eax, dword [ebp - 0x1d4]
add esp, 0xc
mov ecx, dword [ebp - 0x1ac]
mov byte [eax + esi], 0
lea esi, [edi + 0x80]
jmp 0x10003007
push ecx
push edx
mov byte [ebp - 0x194], 0
push dword [ebp - 0x194]
push ecx
mov ecx, esi
call fcn.10006f90
mov ecx, dword [ebp - 0x1e4]
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x1d0]
cmp eax, 0x10
jb 0x10003041
lea edx, [eax + 1]
mov eax, ecx
cmp edx, 0x1000
jb 0x10003037
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov ecx, dword [edi + 0x68]
xor eax, eax
sub ecx, dword [edi + 0x64]
add dword [ebp - 0x1a4], 0x18
inc dword [ebp - 0x1b4]
mov word [ebp - 0x18c], ax
mov byte [ebp - 0x18a], al
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [ebp - 0x1a4]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x1b4], eax
jb 0x10002ee0
mov word [ebp - 0x18c], 0xa0d
mov byte [ebp - 0x18a], 0
lea eax, [ebp - 0x18c]
mov byte [ebp - 4], 0x1a
push eax
mov ecx, esi
call fcn.10006790
mov byte [ebp - 4], 0
lea edx, [edi + 0xb0]
cmp dword [edi + 0xc4], 0x10
jb 0x100030c1
mov edx, dword [edi + 0xb0]
mov eax, dword [esi + 0x10]
mov ecx, dword [edi + 0xc0]
mov dword [ebp - 0x1a4], eax
mov eax, dword [esi + 0x14]
sub eax, dword [ebp - 0x1a4]
mov dword [ebp - 0x194], ecx
cmp ecx, eax
ja 0x1000312b
mov eax, dword [ebp - 0x1a4]
add eax, ecx
mov dword [ebp - 0x1a0], esi
cmp dword [esi + 0x14], 0x10
mov dword [esi + 0x10], eax
jb 0x10003102
mov eax, dword [esi]
mov dword [ebp - 0x1a0], eax
mov esi, dword [ebp - 0x1a0]
add esi, dword [ebp - 0x1a4]
push ecx
push edx
push esi
call fcn.1001e980
mov eax, dword [ebp - 0x194]
add esp, 0xc
mov byte [esi + eax], 0
lea esi, [edi + 0x80]
jmp 0x10003142
push ecx
push edx
mov byte [ebp - 0x194], 0
push dword [ebp - 0x194]
push ecx
mov ecx, esi
call fcn.10006f90
xorps xmm0, xmm0
mov dword [ebp - 0x180], 0
push 0x190
movlpd qword [ebp - 0x170], xmm0
movlpd qword [ebp - 0x168], xmm0
mov dword [ebp - 0x184], 0
mov dword [ebp - 0x17c], 2
mov dword [ebp - 0x178], 1
mov dword [ebp - 0x174], 6
call fcn.1001d0ed
add esp, 4
push eax
mov eax, dword [0x10057030]
push 2
mov eax, dword [eax + 0x74]
call eax
test eax, eax
jne 0x10003e48
mov word [ebp - 0x18c], 0x3038
mov byte [ebp - 0x18a], al
lea eax, [edi + 0x34]
mov byte [ebp - 4], 0x1b
cmp dword [eax + 0x14], 0x10
jb 0x100031c7
mov eax, dword [eax]
lea ecx, [ebp - 0x184]
push ecx
lea ecx, [ebp - 0x180]
push ecx
lea ecx, [ebp - 0x18c]
push ecx
push eax
mov eax, dword [0x10057030]
mov eax, dword [eax + 0x80]
call eax
mov byte [ebp - 4], 0
test eax, eax
jne 0x10003e48
mov eax, dword [ebp - 0x184]
push dword [eax + 0xc]
push dword [eax + 8]
push dword [eax + 4]
mov eax, dword [0x10057030]
mov eax, dword [eax + 0x7c]
call eax
mov ecx, dword [ebp - 0x184]
mov dword [edi + 0x7c], eax
push dword [ecx + 0x10]
push dword [ecx + 0x18]
push eax
mov eax, dword [0x10057030]
mov eax, dword [eax + 0x84]
call eax
test eax, eax
js 0x10003e48
cmp dword [esi + 0x14], 0x10
jb 0x1000323c
mov esi, dword [esi]
mov eax, dword [0x10057030]
push 0
push dword [edi + 0x90]
mov eax, dword [eax + 0x88]
push esi
push dword [edi + 0x7c]
call eax
cmp eax, dword [edi + 0x90]
jne 0x10003e48
mov esi, 0x400
xorps xmm0, xmm0
push esi
movsd qword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x1a4], esi
call fcn.10025473
add esp, 4
mov dword [edi + 0xc8], eax
nop word [eax + eax]
push 0x100
lea eax, [ebp - 0x118]
push 0
push eax
call fcn.1001ef10
add esp, 0xc
lea eax, [ebp - 0x118]
push 0
push 0x100
push eax
mov eax, dword [0x10057030]
push dword [edi + 0x7c]
mov eax, dword [eax + 0x8c]
call eax
mov dword [ebp - 0x1a0], eax
test eax, eax
jle 0x10003e48
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movd xmm0, esi
addsd xmm1, qword [ebp - 0x1c8]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x1b8], xmm1
comisd xmm1, xmm0
jbe 0x1000335d
xor ecx, ecx
mov eax, esi
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10025473
movsd xmm0, qword [ebp - 0x1c8]
mov esi, eax
mov eax, dword [ebp - 0x1a4]
add esp, 4
shl eax, 2
mov dword [ebp - 0x1a4], eax
call fcn.1003f520
push eax
push dword [edi + 0xc8]
push esi
call fcn.1001e980
add esp, 0xc
push dword [edi + 0xc8]
call fcn.10021690
mov eax, dword [ebp - 0x1a0]
add esp, 4
mov dword [edi + 0xc8], esi
jmp 0x10003363
mov esi, dword [edi + 0xc8]
push eax
lea eax, [ebp - 0x118]
push eax
cvttsd2si eax, qword [ebp - 0x1c8]
add eax, esi
push eax
call fcn.1001e980
mov edx, dword [edi + 0xc8]
add esp, 0xc
movsd xmm0, qword [ebp - 0x1b8]
mov ecx, edx
mov dword [ebp - 0x130], 0
movsd qword [ebp - 0x1c8], xmm0
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x11c], 0xf
lea esi, [ecx + 1]
mov byte [ebp - 0x130], 0
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100033c0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x130]
call fcn.10001910
cmp dword [edi + 0x108], 0xffffffff
mov eax, dword [ebp - 0x120]
mov esi, dword [ebp - 0x130]
mov dword [ebp - 0x1b4], eax
jne 0x1000344e
or dword [ebp - 0x190], 1
lea edx, [ebp - 0x198]
mov dword [ebp - 0x198], 0x50545448
lea ecx, [edx + 1]
mov word [ebp - 0x194], 0x2f
mov al, byte [edx]
inc edx
test al, al
jne 0x10003414
sub edx, ecx
lea eax, [ebp - 0x198]
cmp dword [ebp - 0x11c], 0x10
lea ecx, [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x1b4]
cmovae ecx, esi
push eax
push 0
call fcn.10006e20
add esp, 0xc
cmp eax, 0xffffffff
je 0x1000344e
mov al, 1
jmp 0x10003450
xor al, al
mov ecx, dword [ebp - 0x190]
test cl, 1
je 0x10003473
and ecx, 0xfffffffe
mov dword [ebp - 0x190], ecx
xor ecx, ecx
mov dword [ebp - 0x198], ecx
mov word [ebp - 0x194], cx
test al, al
je 0x10003675
mov dword [ebp - 0x1ac], 0x50545448
mov word [ebp - 0x1a8], 0x2f
lea edx, [ebp - 0x1ac]
mov byte [ebp - 4], 0x1d
lea ecx, [edx + 1]
nop dword [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100034a0
sub edx, ecx
lea eax, [ebp - 0x1ac]
cmp dword [ebp - 0x11c], 0x10
lea ecx, [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x1b4]
cmovae ecx, esi
push eax
push 0
setae byte [ebp - 0x185]
call fcn.10006e20
add esp, 0xc
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
lea edx, [eax + 9]
mov byte [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x1b4]
cmp eax, edx
jb 0x10003ead
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp byte [ebp - 0x185], 0
lea eax, [ebp - 0x130]
cmovne eax, esi
push ecx
add eax, edx
lea ecx, [ebp - 0x1e4]
push eax
call fcn.10001910
mov byte [ebp - 4], 0x1e
lea eax, [ebp - 0x1e4]
mov ecx, 3
mov dword [ebp - 0x208], 0
cmp dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x1f8], 0
cmovb ecx, dword [ebp - 0x1d4]
cmp dword [ebp - 0x1d0], 0x10
push ecx
cmovae eax, dword [ebp - 0x1e4]
lea ecx, [ebp - 0x208]
push eax
mov dword [ebp - 0x1f4], 0xf
call fcn.10001910
mov eax, dword [ebp - 0x190]
or eax, 0x1800
cmp dword [ebp - 0x1f4], 0x10
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x208]
cmovae eax, dword [ebp - 0x208]
push eax
call fcn.100220a5
mov edx, dword [ebp - 0x1f4]
add esp, 4
mov dword [edi + 0x108], eax
cmp edx, 0x10
jb 0x100035fb
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100035f1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ebc
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov byte [ebp - 4], 0x1d
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp edx, 0x10
jb 0x10003654
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1000364a
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ebc
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov esi, dword [ebp - 0x130]
xor eax, eax
mov dword [ebp - 0x1ac], eax
mov word [ebp - 0x1a8], ax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x1b4], eax
movsd xmm0, qword [edi + 0x110]
ucomisd xmm0, qword [0x10050140]
lahf
test ah, 0x44
jp 0x1000370a
mov ecx, 0x59
xor edx, edx
mov al, byte [edx + 0x1004e8f4]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x240], al
and ecx, 0x800000ff
jns 0x100036b2
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x10003692
or dword [ebp - 0x190], 2
lea edx, [ebp - 0x240]
mov byte [ebp - 0x232], 0
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x100036d0
sub edx, ecx
lea eax, [ebp - 0x240]
cmp dword [ebp - 0x11c], 0x10
lea ecx, [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x1b4]
cmovae ecx, esi
push eax
push 0
call fcn.10006e20
add esp, 0xc
cmp eax, 0xffffffff
je 0x1000370a
mov al, 1
jmp 0x1000370c
xor al, al
mov ecx, dword [ebp - 0x190]
test cl, 2
je 0x10003745
and ecx, 0xfffffffd
mov dword [ebp - 0x238], 0
xorps xmm0, xmm0
mov dword [ebp - 0x190], ecx
movq qword [ebp - 0x240], xmm0
mov word [ebp - 0x234], 0
mov byte [ebp - 0x232], 0
test al, al
je 0x10003a61
mov ecx, 0x15
xor edx, edx
mov al, byte [edx + str.Vyylto1QqGUJ]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x230], al
and ecx, 0x800000ff
jns 0x10003774
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x10003754
mov byte [ebp - 0x222], 0
mov word [ebp - 0x18c], 0xa0d
mov byte [ebp - 0x18a], 0
mov ecx, 0x22
xor edx, edx
nop dword [eax + eax]
mov al, byte [edx + str.aLJQCI_]
xor al, cl
inc ecx
mov byte [ebp + edx - 0x218], al
and ecx, 0x800000ff
jns 0x100037c0
dec ecx
or ecx, 0xffffff00
inc ecx
inc edx
cmp edx, 0xe
jl 0x100037a0
mov byte [ebp - 0x20a], 0
lea edx, [ebp - 0x218]
mov byte [ebp - 4], 0x21
lea ecx, [edx + 1]
nop word [eax + eax]
mov al, byte [edx]
inc edx
test al, al
jne 0x100037e0
sub edx, ecx
lea eax, [ebp - 0x218]
cmp dword [ebp - 0x11c], 0x10
lea ecx, [ebp - 0x130]
push edx
mov edx, dword [ebp - 0x1b4]
cmovae ecx, esi
push eax
push 0
setae byte [ebp - 0x185]
call fcn.10006e20
add esp, 0xc
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
lea edx, [eax + 0x10]
mov byte [ebp - 0x1e4], 0
mov eax, dword [ebp - 0x1b4]
cmp eax, edx
jb 0x10003ead
sub eax, edx
or ecx, 0xffffffff
cmp eax, 0xffffffff
cmovb ecx, eax
cmp byte [ebp - 0x185], 0
lea eax, [ebp - 0x130]
cmovne eax, esi
push ecx
add eax, edx
lea ecx, [ebp - 0x1e4]
push eax
call fcn.10001910
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x22
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003885
lea esi, [ebp - 0x18c]
sub ecx, edx
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10003897
push ecx
lea eax, [ebp - 0x230]
sub esi, edx
cmp dword [ebp - 0x11c], 0x10
mov edx, dword [ebp - 0x120]
push eax
push 0
jb 0x100038cc
mov ecx, dword [ebp - 0x130]
call fcn.10006e20
mov ecx, dword [ebp - 0x130]
jmp 0x100038dd
lea ecx, [ebp - 0x130]
call fcn.10006e20
lea ecx, [ebp - 0x130]
add esp, 0xc
lea edx, [ebp - 0x18c]
push esi
push edx
mov edx, dword [ebp - 0x120]
push eax
call fcn.10006e20
mov edx, eax
mov dword [ebp - 0x208], 0
add esp, 0xc
mov dword [ebp - 0x1f8], 0
cmp dword [ebp - 0x1d4], edx
lea eax, [ebp - 0x1e4]
lea ecx, [ebp - 0x208]
mov dword [ebp - 0x1f4], 0xf
cmovb edx, dword [ebp - 0x1d4]
cmp dword [ebp - 0x1d0], 0x10
push edx
cmovae eax, dword [ebp - 0x1e4]
push eax
call fcn.10001910
mov eax, dword [ebp - 0x190]
or eax, 0x6000
cmp dword [ebp - 0x1f4], 0x10
mov dword [ebp - 0x190], eax
lea eax, [ebp - 0x208]
cmovae eax, dword [ebp - 0x208]
push eax
call fcn.100253df
mov edx, dword [ebp - 0x1f4]
add esp, 4
fstp qword [edi + 0x110]
cmp edx, 0x10
jb 0x100039b3
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x100039a9
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ebc
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov byte [ebp - 4], 0x21
mov edx, dword [ebp - 0x1d0]
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x208], 0
cmp edx, 0x10
jb 0x10003a0c
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10003a02
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ebc
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov esi, dword [ebp - 0x130]
xor eax, eax
xorps xmm0, xmm0
mov dword [ebp - 0x210], 0
movq qword [ebp - 0x218], xmm0
mov word [ebp - 0x20c], 0
mov byte [ebp - 0x20a], 0
mov word [ebp - 0x18c], ax
mov byte [ebp - 0x18a], al
movq qword [ebp - 0x230], xmm0
mov dword [ebp - 0x228], eax
mov word [ebp - 0x224], ax
mov byte [ebp - 0x222], al
mov byte [ebp - 4], 0
mov eax, dword [ebp - 0x11c]
cmp eax, 0x10
jb 0x10003a9b
lea ecx, [eax + 1]
mov eax, esi
cmp ecx, 0x1000
jb 0x10003a91
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ebc
push ecx
push esi
call fcn.1001d11d
add esp, 8
cmp dword [ebp - 0x1a0], 0x100
jne 0x10003ab2
mov esi, dword [ebp - 0x1a4]
jmp 0x10003290
mov edx, dword [edi + 0xc8]
mov ecx, edx
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003ae2
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x148]
call fcn.10001910
mov dword [ebp - 0x198], 0xa0d0a0d
mov byte [ebp - 0x194], 0
lea edx, [ebp - 0x198]
mov byte [ebp - 4], 0x24
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x10003b16
mov esi, dword [ebp - 0x138]
lea eax, [ebp - 0x198]
sub edx, ecx
cmp dword [ebp - 0x134], 0x10
push edx
push eax
lea ecx, [ebp - 0x148]
mov edx, esi
cmovae ecx, dword [ebp - 0x148]
setae byte [ebp - 0x185]
push 0
call fcn.10006e20
add esp, 0xc
mov dword [ebp - 0x1e4], 0
cmp esi, eax
mov dword [ebp - 0x1d4], 0
lea ecx, [ebp - 0x148]
mov dword [ebp - 0x1d0], 0xf
cmovb eax, esi
cmp byte [ebp - 0x185], 0
push eax
cmovne ecx, dword [ebp - 0x148]
push ecx
lea ecx, [ebp - 0x1e4]
call fcn.10001910
mov edi, dword [ebp - 0x1f0]
lea eax, [ebp - 0x1e4]
push eax
lea ecx, [edi + 0xcc]
call fcn.10006800
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x10003bea
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10003be0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov byte [ebp - 4], 0x23
mov eax, dword [edi + 0xdc]
movsd xmm0, qword [ebp - 0x1c8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
shr eax, 0x1f
addsd xmm1, qword [eax*8 + 0x10050160]
subsd xmm0, xmm1
subsd xmm0, qword [0x10050148]
movsd qword [edi + 0xe8], xmm0
call fcn.1003f520
push eax
call fcn.10025473
lea edx, [ebp - 0x198]
mov dword [ebp - 0x1f0], eax
add esp, 4
mov dword [edi + 0xe4], eax
mov dword [ebp - 0x198], 0xa0d0a0d
lea ecx, [edx + 1]
mov byte [ebp - 0x194], 0
mov al, byte [edx]
inc edx
test al, al
jne 0x10003c58
sub edx, ecx
lea eax, [ebp - 0x198]
cmp dword [ebp - 0x134], 0x10
lea ecx, [ebp - 0x148]
push edx
cmovae ecx, dword [ebp - 0x148]
mov edx, dword [ebp - 0x138]
push eax
push 0
call fcn.10006e20
movsd xmm0, qword [edi + 0xe8]
add esp, 0xc
mov esi, eax
call fcn.1003f520
push eax
mov eax, dword [edi + 0xc8]
add eax, 4
add eax, esi
push eax
push dword [ebp - 0x1f0]
call fcn.1001e980
mov edx, dword [edi + 0xe4]
add esp, 0xc
mov ecx, edx
mov dword [ebp - 0x1e4], 0
mov dword [ebp - 0x1d4], 0
mov dword [ebp - 0x1d0], 0xf
mov byte [ebp - 0x1e4], 0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10003ce7
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x1e4]
call fcn.10001910
mov byte [ebp - 4], 0x25
movsd xmm0, qword [edi + 0xe8]
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x1f8], 0
mov dword [ebp - 0x1f4], 0xf
call fcn.1003f520
cmp dword [ebp - 0x1d4], eax
lea ecx, [ebp - 0x1e4]
cmovb eax, dword [ebp - 0x1d4]
cmp dword [ebp - 0x1d0], 0x10
push eax
cmovae ecx, dword [ebp - 0x1e4]
push ecx
lea ecx, [ebp - 0x208]
call fcn.10001910
lea eax, [ebp - 0x208]
push eax
lea ecx, [edi + 0xf0]
call fcn.10006800
mov edx, dword [ebp - 0x1f4]
cmp edx, 0x10
jb 0x10003da6
mov ecx, dword [ebp - 0x208]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10003d9c
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov edx, dword [ebp - 0x1d0]
cmp edx, 0x10
jb 0x10003de0
mov ecx, dword [ebp - 0x1e4]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10003dd6
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
add esp, 8
mov edx, dword [ebp - 0x134]
mov al, 1
mov byte [edi], 1
mov byte [ebp - 0x185], al
cmp edx, 0x10
jb 0x10003e2b
mov ecx, dword [ebp - 0x148]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10003e1b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
mov al, byte [ebp - 0x185]
add esp, 8
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x134], 0xf
mov byte [ebp - 0x148], 0
jmp 0x10003e53
xor al, al
mov byte [edi], 0
mov byte [ebp - 0x185], al
mov edx, dword [ebp - 0x14c]
cmp edx, 0x10
jb 0x10003e8f
mov ecx, dword [ebp - 0x160]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x10003e7f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x10003ecb
push edx
push ecx
call fcn.1001d11d
mov al, byte [ebp - 0x185]
add esp, 8
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.1001d0df
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret
call fcn.100069b0
call fcn.100069b0
call fcn.10001200
call fcn.1002163f
call fcn.10001200
call fcn.1002163f
call fcn.1002163f
int3