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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b3f38
mov eax, dword fs:[0]
push eax
sub esp, 0x70
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x68], eax
push ebx
push esi
push edi
mov eax, dword [section..data]
xor eax, esp
push eax
lea eax, [esp + 0x80]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], 0
call dword [sym.imp.WINMM.dll_timeGetTime]
mov esi, dword [0x100f0858]
mov ecx, esi
mov ebx, dword [sym.imp.MSVCR120.dll_wcsstr]
mov dword [esp + 0x14], eax
mov eax, 0xcccccccd
mul esi
mov dword [esp + 0x1c], 1
shr edx, 5
lea edx, [edx + edx*4]
shl edx, 3
sub ecx, edx
jne 0x1005fad7
mov ecx, dword [edi + 0x6f0]
lea eax, [esp + 0x60]
push eax
mov byte [0x100f0855], 0
mov byte [0x100f087c], 0
mov dword [0x100f0868], 0
call fcn.10055e00
mov dword [esp + 0x88], 0
mov eax, dword [edi + 0x30]
mov esi, dword [eax]
cmp esi, eax
je 0x1005fa90
jmp 0x1005f970
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
push 0x100bd958
cmovae eax, dword [esp + 0x64]
push eax
call ebx
add esp, 8
test eax, eax
je 0x1005f9ad
push 3
lea ecx, [esi + 0x5c]
push 0x100c39ec
push dword [ecx + 0x10]
push ecx
call fcn.10006570
test eax, eax
jne 0x1005f9ad
movzx eax, byte [esi + 0x10]
mov dword [0x100f0868], eax
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
push 0x100bd960
cmovae eax, dword [esp + 0x64]
push eax
call ebx
add esp, 8
test eax, eax
je 0x1005f9ea
push 3
lea ecx, [esi + 0x5c]
push 0x100c3a14
push dword [ecx + 0x10]
push ecx
call fcn.10006570
test eax, eax
jne 0x1005f9ea
movzx eax, byte [esi + 0x10]
mov dword [0x100f0868], eax
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
push 0x100c3a0c
cmovae eax, dword [esp + 0x64]
push eax
call ebx
movzx ecx, byte [0x100f0855]
test eax, eax
mov eax, 1
cmovne ecx, eax
lea eax, [esp + 0x68]
cmp dword [esp + 0x7c], 8
push 0x100c3a28
cmovae eax, dword [esp + 0x6c]
push eax
mov byte [0x100f0855], cl
call ebx
movzx ecx, byte [0x100f087c]
add esp, 0x10
test eax, eax
mov eax, 1
cmovne ecx, eax
cmp byte [esi + 0xd], 0
mov byte [0x100f087c], cl
jne 0x1005fa87
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x1005fa6c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x1005fa87
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x1005fa60
jmp 0x1005fa87
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x1005fa85
cmp esi, dword [eax + 8]
jne 0x1005fa85
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1005fa75
mov esi, eax
cmp esi, dword [edi + 0x30]
jne 0x1005f970
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
push 0x100c3a1c
cmovae eax, dword [esp + 0x64]
push eax
call ebx
add esp, 8
mov dword [esp + 0x88], 0xffffffff
test eax, eax
setne byte [0x100f0856]
cmp dword [esp + 0x74], 8
jb 0x1005fad1
push dword [esp + 0x60]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, dword [0x100f0858]
mov edx, dword [edi + 0x30]
inc esi
mov dword [0x100f0858], esi
mov byte [esp + 0x2c], 0
mov esi, dword [edx]
mov eax, esi
cmp eax, edx
je 0x1005fb56
mov ebx, dword [ebp + 8]
movzx ecx, byte [eax + 0x10]
cmp byte [ecx + ebx], 1
jne 0x1005fb0f
mov ecx, dword [esp + 0x2c]
cmp byte [eax + 0x14], 0
movzx ecx, cl
cmove ecx, dword [esp + 0x1c]
mov dword [esp + 0x2c], ecx
cmp byte [eax + 0xd], 0
jne 0x1005fb52
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1005fb34
mov eax, ecx
mov ecx, dword [eax]
cmp byte [ecx + 0xd], 0
jne 0x1005fb52
mov eax, ecx
mov ecx, dword [eax]
cmp byte [ecx + 0xd], 0
je 0x1005fb28
jmp 0x1005fb52
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x1005fb50
lea ecx, [ecx]
cmp eax, dword [ecx + 8]
jne 0x1005fb50
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x1005fb40
mov eax, ecx
cmp eax, edx
jne 0x1005faf1
cmp esi, edx
je 0x10060772
mov edi, edi
cmp byte [esi + 0x14], 0
je 0x10060729
mov ebx, dword [edi + 0x6f0]
add ebx, 0xedc
cmp dword [ebx + 0x14], 0x10
jb 0x1005fb80
mov eax, dword [ebx]
jmp 0x1005fb82
mov eax, ebx
push 0x1d
push str.com.riotgames.league.wildrift
push eax
call dword [sym.imp.MSVCR120.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x1005fbf9
cmp dword [ebx + 0x14], 0x10
jb 0x1005fb9f
mov ebx, dword [ebx]
mov eax, str.com.tencent.lolm
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x1005fbc4
test cl, cl
je 0x1005fbc0
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x1005fbc4
add ebx, 2
add eax, 2
test cl, cl
jne 0x1005fba4
xor eax, eax
jmp 0x1005fbc9
sbb eax, eax
or eax, 1
test eax, eax
je 0x1005fbf9
cmp byte [esi + 0x2f], 0
jne 0x1005fbe3
movzx eax, byte [esi + 0x10]
cmp dword [0x100f0868], eax
je 0x1005fbe3
xor al, al
jmp 0x1005fbe5
mov al, 1
push eax
lea eax, [esp + 0x28]
push eax
lea ebx, [esi + 0x14]
push ebx
push ecx
mov ecx, edi
call fcn.1005f3d0
jmp 0x1005fc23
cmp byte [esi + 0x2f], 0
jne 0x1005fc0f
movzx eax, byte [esi + 0x10]
cmp dword [0x100f0868], eax
je 0x1005fc0f
xor al, al
jmp 0x1005fc11
mov al, 1
push eax
lea eax, [esp + 0x28]
push eax
lea ebx, [esi + 0x14]
push ebx
push ecx
mov ecx, edi
call fcn.1005f010
cmp byte [esi + 0x2c], 0
je 0x10060226
mov edx, dword [ebp + 8]
xor al, al
cmp byte [edx + 1], 1
je 0x1005fc3d
cmp byte [ebp + 0xc], al
je 0x1005fcb7
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x60], eax
movzx eax, byte [esi + 0x10]
mov byte [ebx], 0
mov ebx, dword [esi + 0x54]
mov dword [esp + 0x64], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x6c], ecx
push dword [ebx + 4]
mov ecx, dword [esp + 0x30]
push ebx
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], ecx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [esp + 0x40]
mov edx, dword [ebp + 8]
test eax, eax
je 0x1005fcb0
cmp byte [edx + 1], 1
jne 0x1005fcb4
mov byte [eax], 1
cmp byte [edx + 1], 1
sete al
cmp byte [esi + 0x14], 0
je 0x1005fd32
movzx ecx, byte [esi + 0x10]
cmp byte [ecx + edx], 0
je 0x1005fd32
cmp dword [esi + 0x48], 0
je 0x1005fd32
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov byte [esi + 0x14], 0
mov dword [esi + 0x48], 0
mov ebx, dword [esi + 0x54]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x68], ecx
push dword [ebx + 4]
mov dword [esp + 0x78], 0
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
jmp 0x1005fd36
test al, al
je 0x1005fd5a
mov edx, dword [edi + 0xa0]
test edx, edx
je 0x1005fd5a
cmp byte [esi + 0x32], 0
je 0x1005fd5a
cmp byte [edx], 0
je 0x1005fd5a
mov ecx, 0x20
cmp dword [edx + 0x2c], ecx
cmovl ecx, dword [edx + 0x2c]
mov dword [edx + 0x2c], ecx
cmp byte [esi + 0x14], 0
je 0x10060080
mov edx, dword [edi + 0x6e4]
xor bl, bl
mov eax, dword [edx]
cmp eax, edx
je 0x1005fdcf
mov edx, dword [ebp + 8]
movzx ecx, byte [eax + 0x10]
cmp byte [ecx + edx], 0
mov edx, dword [edi + 0x6e4]
jne 0x1005fdcd
cmp byte [eax + 0xd], 0
jne 0x1005fdc7
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1005fdac
mov eax, ecx
mov ecx, dword [eax]
cmp byte [ecx + 0xd], 0
jne 0x1005fdc7
mov edi, edi
mov eax, ecx
mov ecx, dword [eax]
cmp byte [ecx + 0xd], 0
je 0x1005fda0
jmp 0x1005fdc7
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x1005fdc5
cmp eax, dword [ecx + 8]
jne 0x1005fdc5
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x1005fdb5
mov eax, ecx
cmp eax, edx
jne 0x1005fd72
jmp 0x1005fdcf
mov bl, 1
test bl, bl
je 0x1005fe33
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov byte [esi + 0x14], 0
mov ebx, dword [esi + 0x54]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x74], 0
push dword [ebx + 4]
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
cmp byte [esi + 0x14], 0
je 0x10060080
mov eax, dword [edi + 0x38]
test eax, eax
je 0x10060019
mov ecx, dword [esp + 0x2c]
test cl, cl
jne 0x1005fe84
movzx eax, byte [eax + 4]
mov ecx, dword [ebp + 8]
cmp byte [eax + ecx], 1
je 0x1005fe80
cmp byte [ecx + 4], 1
jne 0x1005fe69
cmp byte [esi + 0x10], 4
jne 0x1005fe80
cmp byte [ecx + 2], 1
jne 0x10060019
cmp dword [edi + 0xa0], 0
jne 0x10060019
mov ecx, dword [esp + 0x2c]
cmp byte [0x100f087c], 0
mov byte [esi + 0x14], 0
je 0x1005fef6
test cl, cl
je 0x1005fef6
mov eax, dword [esp + 0x14]
mov ebx, dword [esi + 0x54]
mov dword [esp + 0x60], eax
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
push dword [ebx + 4]
mov dword [esp + 0x78], 0
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
jmp 0x1005ffd2
mov eax, dword [edi + 0x38]
cmp dword [eax], 0
jne 0x1005ff03
add eax, 8
jmp 0x1005ff06
lea eax, [esi + 0x18]
mov ecx, dword [eax]
xor ebx, ebx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], eax
lea ecx, [ecx]
mov dword [esp + 0x60], eax
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x64], eax
xor eax, eax
cmp ebx, 4
movd xmm1, ebx
cvtdq2pd xmm1, xmm1
setne al
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0x6f0]
movd xmm0, dword [eax + 0x10]
addsd xmm1, qword [0x100d0e50]
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x54]
push ecx
mov dword [esp + 0x20], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
inc ebx
mov eax, dword [esp + 0x1c]
mov dword [esi + 0x58], ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
add eax, 0x20
mov dword [esp + 0x20], eax
cmp ebx, 5
jl 0x1005ff20
mov eax, dword [edi + 0x38]
mov edx, dword [ebp + 8]
movzx eax, byte [eax + 4]
cmp byte [eax + edx], 1
jne 0x1005ffef
mov byte [eax + edi + 0xc4], 0
jmp 0x10060083
cmp byte [edx + 4], 1
jne 0x10060001
mov byte [edi + 0xc8], 0
jmp 0x10060083
cmp dword [edi + 0xa0], 0
jne 0x10060083
cmp byte [edx + 2], 1
jne 0x10060083
mov byte [edi + 0xc6], 0
jmp 0x10060083
cmp byte [esp + 0x2c], 0
je 0x10060080
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov byte [esi + 0x14], 0
mov ebx, dword [esi + 0x54]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x74], 0
push dword [ebx + 4]
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov edx, dword [ebp + 8]
cmp byte [esi + 0x14], 0
je 0x10060729
cmp dword [esi + 0x48], 0
je 0x10060729
movzx ecx, byte [esi + 0x10]
cmp byte [ecx + edx], 1
jne 0x10060729
mov eax, dword [esi + 0x34]
mov ebx, dword [esp + 0x14]
add eax, 0x12c
cmp ebx, eax
jbe 0x10060729
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
mov byte [esi + 0x14], 0
mov dword [esp + 0x60], ebx
mov ebx, dword [esi + 0x54]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x68], ecx
push dword [ebx + 4]
mov dword [esp + 0x78], 0
push ebx
call fcn.10034ca0
mov edx, dword [esi + 0x58]
mov ecx, 0x9249248
sub ecx, edx
mov dword [esp + 0x18], eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [edx + 1]
mov dword [esp + 0x70], 1
mov dword [esi + 0x58], ecx
mov ecx, dword [esp + 0x18]
mov dword [ebx + 4], eax
mov eax, dword [eax + 4]
mov dword [eax], ecx
mov eax, dword [esp + 0x14]
mov dword [esi + 0x34], eax
add eax, 0x30
mov dword [esp + 0x60], eax
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x1c]
mov byte [esi + 0x14], 1
mov dword [esi + 0x48], 0
mov ebx, dword [esi + 0x54]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
push dword [ebx + 4]
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov ecx, dword [esp + 0x24]
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [esp + 0x68], ecx
mov dword [eax], edx
mov eax, dword [esp + 0x14]
add eax, 0x70
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
mov ebx, eax
sub ebx, dword [esi + 0x1c]
mov dword [esp + 0x6c], eax
mov eax, ecx
sub eax, dword [esi + 0x18]
mov dword [esp + 0x18], eax
cdq
mov ecx, eax
mov eax, ebx
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp ecx, eax
jle 0x100601d7
xor eax, eax
cmp dword [esp + 0x18], eax
setg al
lea eax, [eax*2 - 1]
add eax, dword [esp + 0x24]
mov dword [esp + 0x68], eax
jmp 0x100601ed
xor eax, eax
test ebx, ebx
setg al
lea eax, [eax*2 - 1]
add eax, dword [esp + 0x28]
mov dword [esp + 0x6c], eax
mov ebx, dword [esi + 0x54]
lea eax, [esp + 0x60]
push eax
push dword [ebx + 4]
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
jmp 0x10060729
movzx edx, byte [esi + 0x10]
mov ecx, dword [ebp + 8]
cmp byte [edx + ecx], 0
jne 0x100605eb
mov eax, dword [esi + 0x40]
mov ecx, dword [esp + 0x14]
add eax, 0x38
cmp eax, ecx
mov byte [ebx], 0
mov ebx, dword [esi + 0x54]
cmova ecx, eax
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x28]
inc eax
mov dword [esp + 0x70], 0
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
push dword [ebx + 4]
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
cmp dword [esi + 0x50], 0
je 0x100602b6
mov eax, dword [esp + 0x14]
mov byte [edi + 0xa4], 1
mov dword [edi + 0xa8], eax
mov ecx, dword [edi + 0x6f0]
lea eax, [esp + 0x60]
push eax
call fcn.10055e00
or dword [esp + 0x3c], 1
cmp dword [eax + 0x14], 8
jb 0x100602d3
mov eax, dword [eax]
push 0x100c3a44
push eax
call dword [sym.imp.MSVCR120.dll_wcsstr]
add esp, 8
test eax, eax
je 0x100602f0
cmp dword [esi + 0x50], 3
jne 0x100602f0
mov bl, 1
jmp 0x100602f2
xor bl, bl
mov eax, dword [esp + 0x3c]
test al, 1
je 0x10060315
and eax, 0xfffffffe
cmp dword [esp + 0x74], 8
mov dword [esp + 0x3c], eax
jb 0x10060315
push dword [esp + 0x60]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
test bl, bl
je 0x10060320
mov eax, dword [esp + 0x14]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xa0]
test edx, edx
je 0x10060344
cmp byte [esi + 0x32], 0
je 0x10060344
cmp byte [edx], 0
je 0x10060344
mov ecx, 0x20
cmp dword [edx + 0x2c], ecx
cmovl ecx, dword [edx + 0x2c]
mov dword [edx + 0x2c], ecx
cmp byte [0x100f0856], 0
je 0x100605e8
cmp dword [esi + 0x50], 3
jne 0x100605e8
push 0
push 0
lea eax, [esp + 0x3c]
mov dword [esp + 0x3c], 0
push eax
mov ecx, edi
mov dword [esp + 0x44], 0
call fcn.1005ce20
mov eax, dword [edi + 0xa0]
test eax, eax
je 0x1006048e
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
cmp ebx, dword [eax + 4]
jne 0x1006039f
cmp ecx, dword [eax + 8]
je 0x100605e8
mov dl, byte [eax]
mov byte [eax], 1
mov eax, dword [edi + 0xa0]
mov dword [eax + 0x18], 0
mov eax, dword [edi + 0xa0]
mov dword [eax + 0x30], 0x3e8
mov eax, dword [edi + 0xa0]
mov dword [eax + 0x2c], 0xc8
mov eax, dword [edi + 0xa0]
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ecx
mov ecx, dword [edi + 0xa0]
mov eax, dword [ecx + 4]
mov dword [ecx + 0x24], eax
mov eax, dword [ecx + 8]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0xa0]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x38], ecx
test dl, dl
jne 0x100605e8
mov ebx, dword [edi + 0xa0]
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0x74], 1
movzx eax, byte [ebx + 0x10]
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x6f0]
movsd xmm0, qword [eax + 0x1038]
xor eax, eax
comisd xmm0, xmmword [0x100d10e0]
setbe al
add eax, 3
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x40]
mov dword [esp + 0x1c], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 0x44]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x44], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [edi + 0xa0]
inc dword [eax + 0x18]
jmp 0x100605e8
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x100605e8
mov dl, byte [eax]
mov byte [eax], 1
mov eax, dword [edi + 0x8c]
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x70], 1
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x38], ebx
mov dword [eax + 0x3c], ecx
mov ecx, dword [edi + 0x8c]
mov eax, dword [ecx + 4]
mov dword [ecx + 0x40], eax
mov eax, dword [ecx + 8]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x8c]
mov ecx, dword [esp + 0x38]
mov byte [eax + 0x48], 0
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], ecx
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x60], 0xc
mov ebx, dword [edi + 0x8c]
movzx eax, byte [ebx + 0x14]
mov dword [esp + 0x64], eax
test dl, dl
jne 0x1006058e
mov eax, dword [edi + 0x6f0]
lea ecx, [esp + 0x60]
push ecx
movsd xmm0, qword [eax + 0x1038]
xor eax, eax
comisd xmm0, xmmword [0x100d10e0]
setbe al
add eax, 3
mov dword [esp + 0x64], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 8]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x64]
mov dword [esp + 0x1c], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 0x68]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x68], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov ebx, dword [edi + 0x8c]
lea ecx, [esp + 0x60]
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0x64]
push ecx
mov dword [esp + 0x64], 1
mov dword [esp + 0x1c], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 0x68]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov eax, dword [esp + 0x18]
mov dword [ebx + 0x68], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov ecx, dword [ebp + 8]
cmp byte [esi + 0x14], 0
je 0x10060729
mov eax, dword [edi + 0x38]
test eax, eax
je 0x10060729
movzx eax, byte [eax + 4]
cmp byte [eax + ecx], 1
je 0x1006061e
cmp byte [ecx + 4], 1
jne 0x10060729
cmp byte [esi + 0x10], 4
je 0x10060729
mov byte [esi + 0x14], 0
mov eax, dword [edi + 0x38]
cmp dword [eax], 0
jne 0x1006062f
add eax, 8
jmp 0x10060632
lea eax, [esi + 0x18]
mov ecx, dword [eax]
xor ebx, ebx
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], eax
lea esp, [esp]
mov dword [esp + 0x60], eax
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x64], eax
xor eax, eax
cmp ebx, 4
movd xmm0, ebx
cvtdq2pd xmm0, xmm0
setne al
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], eax
mov eax, dword [edi + 0x6f0]
movd xmm1, dword [eax + 0x10]
addsd xmm0, qword [0x100d0e50]
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, ecx
lea ecx, [esp + 0x60]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x54]
push ecx
mov dword [esp + 0x1c], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
inc ebx
mov eax, dword [esp + 0x18]
mov dword [esi + 0x58], ecx
mov ecx, dword [esp + 0x1c]
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x30]
add eax, 0x20
mov dword [esp + 0x20], eax
cmp ebx, 5
jl 0x10060650
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp + 8]
movzx eax, byte [eax + 4]
cmp byte [eax + ecx], 1
jne 0x1006071c
mov byte [eax + edi + 0xc4], 0
jmp 0x10060729
cmp byte [ecx + 4], 1
jne 0x10060729
mov byte [edi + 0xc8], 0
cmp byte [esi + 0xd], 0
jne 0x10060769
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x1006074e
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x10060769
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x10060742
jmp 0x10060769
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10060767
cmp esi, dword [eax + 8]
jne 0x10060767
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10060757
mov esi, eax
cmp esi, dword [edi + 0x30]
jne 0x1005fb60
mov eax, dword [edi + 0x30]
mov esi, dword [eax]
mov dword [esp + 0x2c], esi
cmp esi, eax
je 0x1006148f
cmp dword [esi + 0x58], 0
jne 0x10061433
cmp byte [esi + 0x14], 0
lea ebx, [esi + 0x14]
je 0x10060a10
mov ecx, dword [edi + 0x6f0]
call fcn.10026f50
test al, al
movzx eax, byte [esi + 0x10]
je 0x100607d5
cmp dword [0x100f0868], eax
sete al
movzx eax, al
push eax
lea eax, [esp + 0x50]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.1005f010
jmp 0x100607f0
push str.list_T__too_long
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xlength_error_char_const__]
cmp dword [0x100f0868], eax
sete al
movzx eax, al
push eax
lea eax, [esp + 0x50]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.1005f3d0
mov bl, byte [esi + 0x10]
mov ecx, edi
push ebx
call fcn.1005ef30
test al, al
jne 0x100609fe
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
movzx eax, bl
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x70], 1
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ebx
cmp dword [esi + 0x38], eax
jne 0x100609b5
cmp dword [esi + 0x3c], ebx
jne 0x100609b5
cmp byte [0x100f0855], 0
je 0x100608ec
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x1006085b
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, 1
sub ecx, eax
mov eax, dword [edi + 0x6f0]
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [esp + 0x4c]
mov dword [esp + 0x68], eax
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x100608ab
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, 1
sub ecx, eax
mov eax, dword [edi + 0x6f0]
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, ebx
mov dword [esp + 0x6c], eax
jmp 0x100609c2
mov ecx, dword [edi + 0x6f0]
call fcn.10026f50
test al, al
jne 0x100609f6
mov eax, dword [esi + 0x44]
cmp eax, 2
ja 0x100609f6
jae 0x100609c2
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x10060923
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, 1
sub ecx, eax
mov eax, dword [edi + 0x6f0]
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [esp + 0x4c]
mov dword [esp + 0x68], eax
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x100608ab
dec eax
mov ecx, 1
or eax, 0xfffffffe
inc eax
sub ecx, eax
mov eax, dword [edi + 0x6f0]
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, ebx
mov dword [esp + 0x6c], eax
jmp 0x100609c2
mov dword [esi + 0x44], 0
mov dword [esi + 0x38], eax
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 0x54]
lea eax, [esp + 0x60]
push eax
push dword [ebx + 4]
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
inc dword [esi + 0x44]
jmp 0x10061433
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
push ebx
call fcn.1005ef90
jmp 0x10061433
mov bl, byte [esi + 0x10]
mov ecx, dword [ebp + 8]
movzx eax, bl
mov dword [esp + 0x18], eax
cmp byte [eax + ecx], 1
jne 0x10061433
push ebx
mov ecx, edi
call fcn.1005ef30
test al, al
jne 0x10061433
cmp dword [esi + 0x48], 0
je 0x10061433
push dword [ebp + 8]
push ebx
push 0
call fcn.100669a0
test al, al
je 0x10061433
cmp byte [esi + 0x2e], 0
je 0x10060b06
mov eax, dword [esp + 0x14]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x18]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x48], 0
mov ebx, dword [esi + 0x54]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
mov dword [esp + 0x74], 1
push dword [ebx + 4]
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esp + 0x70], 0
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [esp + 0x14]
mov ebx, dword [esi + 0x54]
add eax, 0x20
mov dword [esp + 0x60], eax
lea eax, [esp + 0x60]
push eax
push dword [ebx + 4]
push ebx
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
jmp 0x10061176
mov ebx, dword [edi + 0x6f0]
mov eax, dword [ebx + 0xeb0]
cmp eax, 0x5a
je 0x10060b2c
cmp eax, 0x10e
je 0x10060b2c
mov eax, dword [ebx + 0xf24]
mov ecx, dword [ebx + 0xf28]
jmp 0x10060b38
mov eax, dword [ebx + 0xf28]
mov ecx, dword [ebx + 0xf24]
mov dword [esp + 0x20], eax
cdq
sub eax, edx
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x20]
sar eax, 1
cmp edx, ecx
mov dword [esp + 0x18], eax
cmovl ecx, edx
mov dword [esp + 0x58], eax
mov eax, 0x91a2b3c5
lea ecx, [ecx + ecx*8]
shl ecx, 2
imul ecx
mov eax, dword [esp + 0x30]
add edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
cdq
sub eax, edx
sar eax, 1
add ecx, eax
cmp byte [ebx + 0x81b], 0
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x5c], ecx
lea ecx, [ebx + 0x710]
je 0x10060bc1
cmp byte [ecx + 0x129], 0
jne 0x10060bc1
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x180], eax
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x184], eax
lea eax, [esp + 0x58]
push eax
mov eax, dword [ecx + 0x260]
push dword [eax + 8]
call fcn.1006f010
mov ecx, dword [edi + 0x6f0]
call fcn.10026f50
test al, al
lea ebx, [esi + 0x14]
movzx eax, byte [esi + 0x10]
je 0x10060bf4
cmp dword [0x100f0868], eax
sete al
movzx eax, al
push eax
lea eax, [esp + 0x38]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.1005f010
jmp 0x10060c0f
cmp dword [0x100f0868], eax
sete al
movzx eax, al
push eax
lea eax, [esp + 0x38]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.1005f3d0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x60]
mov dword [esi + 0x34], eax
mov dword [esp + 0x60], eax
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0x18]
mov byte [ebx], 1
lea ebx, [esi + 0x54]
mov dword [esp + 0x30], eax
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x48], 0
mov dword [esp + 0x20], eax
mov dword [esp + 0x6c], eax
mov eax, dword [ebx]
push ecx
mov dword [esp + 0x74], 1
mov dword [esp + 0x1c], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov eax, dword [esp + 0x18]
mov dword [ebx + 4], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov eax, dword [edi + 0x6f0]
add eax, 0xedc
cmp dword [eax + 0x14], 0x10
jb 0x10060c9b
mov eax, dword [eax]
push 0x10
push str.com.netease.frxy
push eax
call dword [sym.imp.MSVCR120.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x10061033
mov eax, dword [edi + 0x6f0]
add eax, 0xedc
cmp dword [eax + 0x14], 0x10
jb 0x10060cc7
mov eax, dword [eax]
push 0x15
push str.com.tencent.elemental
push eax
call dword [sym.imp.MSVCR120.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x10061033
mov eax, dword [esp + 0x38]
sub eax, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
mov ecx, eax
sub edx, dword [esp + 0x30]
imul ecx, eax
mov dword [esp + 0x1c], eax
mov eax, edx
imul eax, edx
mov dword [esp + 0x18], edx
add ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
call sub.MSVCR120.dll__libm_sse2_sqrt_precise
movapd xmm2, xmm0
comisd xmm2, xmmword [0x100d1070]
jbe 0x10060e4d
movd xmm0, dword [esp + 0x1c]
mov eax, 2
movd xmm1, dword [esp + 0x18]
cvtdq2ps xmm1, xmm1
mov ecx, dword [esp + 0x14]
add ecx, 8
mov dword [esp + 0x1c], eax
mov dword [esp + 0x40], ecx
cvtdq2ps xmm0, xmm0
cvtps2pd xmm1, xmm1
cvtps2pd xmm0, xmm0
divsd xmm1, xmm2
divsd xmm0, xmm2
cvtpd2ps xmm3, xmm1
cvtpd2ps xmm4, xmm0
movss dword [esp + 0x54], xmm3
movss dword [esp + 0x24], xmm4
jmp 0x10060d70
mov dword [esp + 0x60], ecx
mov ecx, dword [edi + 0x6f0]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
movd xmm1, dword [ecx + 0x10]
movd xmm0, dword [ecx + 0xf24]
cvtdq2pd xmm1, xmm1
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm2
divsd xmm1, xmm0
cvtps2pd xmm0, xmm3
mulsd xmm1, xmm0
movd xmm0, dword [ecx + 0xf24]
cvtdq2pd xmm0, xmm0
cvttsd2si eax, xmm1
movd xmm1, dword [ecx + 0x10]
lea ecx, [esp + 0x60]
cvtdq2pd xmm1, xmm1
add eax, dword [esp + 0x30]
mov dword [esp + 0x68], eax
push ecx
mulsd xmm1, xmm2
divsd xmm1, xmm0
cvtps2pd xmm0, xmm4
mulsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [esp + 0x24]
mov dword [esp + 0x70], eax
mov eax, dword [ebx]
mov dword [esp + 0x1c], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
movss xmm3, dword [esp + 0x54]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x18]
movss xmm4, dword [esp + 0x24]
mov dword [ebx + 4], ecx
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], edx
add ecx, 0x10
mov eax, dword [edx + 4]
mov dword [esp + 0x40], ecx
mov dword [eax], edx
mov eax, dword [esp + 0x1c]
add eax, 2
mov dword [esp + 0x1c], eax
cmp eax, 8
jl 0x10060d70
jmp 0x10060f21
mov esi, dword [esp + 0x14]
add esi, 8
mov dword [esp + 0x1c], 3
lea esp, [esp]
mov dword [esp + 0x60], esi
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x10060e76
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, 1
sub ecx, eax
mov eax, dword [edi + 0x6f0]
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [esp + 0x30]
mov dword [esp + 0x68], eax
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x10060ec6
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, 1
sub ecx, eax
mov eax, dword [edi + 0x6f0]
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
mov ecx, ebx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [esp + 0x20]
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
call fcn.10031360
add esi, 0x10
dec dword [esp + 0x1c]
jne 0x10060e60
mov esi, dword [esp + 0x2c]
mov eax, dword [ebx]
mov ecx, dword [edi + 0x6f0]
mov eax, dword [eax + 4]
mov eax, dword [eax + 8]
add eax, 0x10
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
call fcn.10026f50
test al, al
jne 0x10060ff3
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x10060f65
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, 1
sub ecx, eax
mov eax, dword [edi + 0x6f0]
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [esp + 0x34]
mov dword [esp + 0x68], eax
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x10060fb5
dec eax
or eax, 0xfffffffe
inc eax
mov ecx, 1
sub ecx, eax
mov eax, dword [edi + 0x6f0]
movd xmm1, dword [eax + 0x10]
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
mulsd xmm1, xmm0
movd xmm0, dword [eax + 0xf24]
cvtdq2pd xmm0, xmm0
divsd xmm1, xmm0
cvttsd2si eax, xmm1
add eax, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
mov eax, dword [ebx]
lea ecx, [esp + 0x60]
push ecx
mov dword [esp + 0x28], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
jmp 0x100610e2
mov eax, dword [esp + 0x14]
mov edx, 1
add eax, 0x10
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
jmp 0x10061050
mov dword [esp + 0x60], eax
lea ecx, [esp + 0x60]
mov eax, dword [esp + 0x34]
sub eax, dword [esi + 0x18]
imul eax, edx
push ecx
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, dword [esi + 0x18]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x24]
imul eax, dword [esp + 0x24]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, dword [esi + 0x24]
mov dword [esp + 0x70], eax
mov eax, dword [ebx]
mov dword [esp + 0x28], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
inc edx
add eax, 0x10
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
cmp edx, 4
jle 0x10061050
cmp byte [esi + 0x2d], 0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov dword [esi + 0x38], edx
mov dword [esi + 0x3c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esi + 0x40], eax
mov dword [esi + 0x44], 1
je 0x10061433
mov ecx, dword [esp + 0x14]
add eax, 0x38
cmp eax, ecx
mov byte [esi + 0x14], 0
mov dword [esp + 0x70], 0
cmova ecx, eax
movzx eax, byte [esi + 0x10]
mov dword [esp + 0x64], eax
lea eax, [edx + 1]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x6c], eax
lea ecx, [esp + 0x60]
mov eax, dword [ebx]
push ecx
mov dword [esp + 0x28], eax
push dword [eax + 4]
push eax
call fcn.10034ca0
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x100607ca
lea ecx, [eax + 1]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ecx
mov dword [eax + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
cmp dword [esi + 0x50], 0
je 0x10061192
mov eax, dword [esp + 0x14]
mov byte [edi + 0xa4], 1
mov dword [edi + 0xa8], eax
mov ecx, dword [edi + 0x6f0]
lea eax, [esp + 0x60]
push eax
call fcn.10055e00
or dword [esp + 0x3c], 2
cmp dword [eax + 0x14], 8
jb 0x100611af
mov eax, dword [eax]
push 0x100c3a44
push eax
call dword [sym.imp.MSVCR120.dll_wcsstr]
add esp, 8
test eax, eax
je 0x100611cc
cmp dword [esi + 0x50], 3
jne 0x100611cc
mov bl, 1
jmp 0x100611ce
xor bl, bl
mov eax, dword [esp + 0x3c]
test al, 2
je 0x100611f1
and eax, 0xfffffffd
cmp dword [esp + 0x74], 8
mov dword [esp + 0x3c], eax
jb 0x100611f1
push dword [esp + 0x60]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
test bl, bl
je 0x100611fc
mov eax, dword [esp + 0x14]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xa0]
test edx, edx
je 0x10061220
cmp byte [esi + 0x32], 0
je 0x10061220
cmp byte [edx], 0
je 0x10061220
mov ecx, 0x20
cmp dword [edx + 0x2c], ecx
cmovl ecx, dword [edx + 0x2c]
mov dword [edx + 0x2c], ecx
cmp byte [0x100f0856], 0
je 0x10061433
cmp dword [esi + 0x50], 3
jne 0x10061433
push 0
push 0
lea eax, [esp + 0x4c]
mov dword [esp + 0x4c], 0
push eax
mov ecx, edi
mov dword [esp + 0x54], 0
call fcn.1005ce20
mov eax, dword [edi + 0xa0]
test eax, eax
je 0x1006133b
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
cmp ebx, dword [eax + 4]
jne 0x1006127b
cmp ecx, dword [eax + 8]
je 0x10061433
mov dl, byte [eax]
mov byte [eax], 1
mov eax, dword [edi + 0xa0]
mov dword [eax + 0x18], 0
mov eax, dword [edi + 0xa0]
mov dword [eax + 0x30], 0x3e8
mov eax, dword [edi + 0xa0]
mov dword [eax + 0x2c], 0xc8
mov eax, dword [edi + 0xa0]
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x20], ecx
mov ecx, dword [edi + 0xa0]
mov eax, dword [ecx + 4]
mov dword [ecx + 0x24], eax
mov eax, dword [ecx + 8]
mov dword [ecx + 0x28], eax
mov eax, dword [edi + 0xa0]
mov ecx, dword [esp + 0x14]
mov dword [eax + 0x38], ecx
test dl, dl
jne 0x10061433
mov ecx, dword [edi + 0xa0]
mov dword [esp + 0x70], 1
movzx eax, byte [ecx + 0x10]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 0x6f0]
movsd xmm0, qword [eax + 0x1038]
xor eax, eax
comisd xmm0, xmmword [0x100d10e0]
setbe al
add eax, 3
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 8]
add ecx, 0x40
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
call fcn.10031360
mov eax, dword [edi + 0xa0]
inc dword [eax + 0x18]
jmp 0x10061433
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x10061433
mov dl, byte [eax]
mov byte [eax], 1
mov eax, dword [edi + 0x8c]
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x70], 1
mov dword [eax + 0x24], 0
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x28], 0
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x38], ebx
mov dword [eax + 0x3c], ecx
mov ecx, dword [edi + 0x8c]
mov eax, dword [ecx + 4]
mov dword [ecx + 0x40], eax
mov eax, dword [ecx + 8]
mov dword [ecx + 0x44], eax
mov eax, dword [edi + 0x8c]
mov ecx, dword [esp + 0x48]
mov byte [eax + 0x48], 0
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], ecx
mov eax, dword [edi + 0x8c]
mov dword [eax + 0x60], 0xc
mov ecx, dword [edi + 0x8c]
movzx eax, byte [ecx + 0x14]
mov dword [esp + 0x64], eax
test dl, dl
jne 0x1006140c
mov eax, dword [edi + 0x6f0]
movsd xmm0, qword [eax + 0x1038]
xor eax, eax
comisd xmm0, xmmword [0x100d10e0]
setbe al
add eax, 3
mov dword [esp + 0x60], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x68], eax
mov eax, dword [ecx + 8]
add ecx, 0x64
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x60]
push eax
call fcn.10031360
mov eax, dword [esp + 0x48]
mov ecx, dword [edi + 0x8c]
mov dword [esp + 0x6c], eax
add ecx, 0x64
lea eax, [esp + 0x60]
mov dword [esp + 0x60], 1
push eax
mov dword [esp + 0x6c], ebx
call fcn.10031360
cmp byte [esi + 0xd], 0
jne 0x10061486
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x10061460
mov esi, eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x10061486
mov esi, eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x10061450
jmp 0x10061486
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x10061480
lea esp, [esp]
cmp esi, dword [eax + 8]
jne 0x10061480
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x10061470
mov esi, eax
mov dword [esp + 0x2c], esi
cmp esi, dword [edi + 0x30]
jne 0x10060783
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx]
mov dword [esp + 0x1c], eax
cmp eax, ecx
je 0x100614cc
lea esp, [esp]
movzx ecx, byte [eax + 0x10]
mov edx, dword [ebp + 8]
cmp byte [ecx + edx], 0
jne 0x100614ba
cmp dword [eax + 0x48], 0
jne 0x100614ba
mov dword [eax + 0x48], 1
lea ecx, [esp + 0x1c]
call fcn.1000a810
mov eax, dword [esp + 0x1c]
cmp eax, dword [edi + 0x30]
jne 0x100614a0
mov ecx, dword [esp + 0x80]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.100ad688
mov esp, ebp
pop ebp
ret 0xc