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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100b2228
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 [0x100ec5cc]
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 0x1005e277
mov ecx, dword [edi + 0x6f0]
lea eax, [esp + 0x60]
push eax
mov byte [0x100ec5c9], 0
mov byte [0x100ec5f0], 0
mov dword [0x100ec5dc], 0
call fcn.10054790
mov dword [esp + 0x88], 0
mov eax, dword [edi + 0x30]
mov esi, dword [eax]
cmp esi, eax
je 0x1005e230
jmp 0x1005e110
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
push 0x100bc8ec
cmovae eax, dword [esp + 0x64]
push eax
call ebx
add esp, 8
test eax, eax
je 0x1005e14d
push 3
lea ecx, [esi + 0x5c]
push 0x100c15dc
push dword [ecx + 0x10]
push ecx
call fcn.10005b00
test eax, eax
jne 0x1005e14d
movzx eax, byte [esi + 0x10]
mov dword [0x100ec5dc], eax
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
push 0x100bc8f4
cmovae eax, dword [esp + 0x64]
push eax
call ebx
add esp, 8
test eax, eax
je 0x1005e18a
push 3
lea ecx, [esi + 0x5c]
push 0x100c15d4
push dword [ecx + 0x10]
push ecx
call fcn.10005b00
test eax, eax
jne 0x1005e18a
movzx eax, byte [esi + 0x10]
mov dword [0x100ec5dc], eax
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
push 0x100c15ec
cmovae eax, dword [esp + 0x64]
push eax
call ebx
movzx ecx, byte [0x100ec5c9]
test eax, eax
mov eax, 1
cmovne ecx, eax
lea eax, [esp + 0x68]
cmp dword [esp + 0x7c], 8
push 0x100c15e4
cmovae eax, dword [esp + 0x6c]
push eax
mov byte [0x100ec5c9], cl
call ebx
movzx ecx, byte [0x100ec5f0]
add esp, 0x10
test eax, eax
mov eax, 1
cmovne ecx, eax
cmp byte [esi + 0xd], 0
mov byte [0x100ec5f0], cl
jne 0x1005e227
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x1005e20c
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x1005e227
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x1005e200
jmp 0x1005e227
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x1005e225
cmp esi, dword [eax + 8]
jne 0x1005e225
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1005e215
mov esi, eax
cmp esi, dword [edi + 0x30]
jne 0x1005e110
cmp dword [esp + 0x74], 8
lea eax, [esp + 0x60]
push 0x100c15fc
cmovae eax, dword [esp + 0x64]
push eax
call ebx
add esp, 8
mov dword [esp + 0x88], 0xffffffff
test eax, eax
setne byte [0x100ec5ca]
cmp dword [esp + 0x74], 8
jb 0x1005e271
push dword [esp + 0x60]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
mov esi, dword [0x100ec5cc]
mov edx, dword [edi + 0x30]
inc esi
mov dword [0x100ec5cc], esi
mov byte [esp + 0x2c], 0
mov esi, dword [edx]
mov eax, esi
cmp eax, edx
je 0x1005e2f6
mov ebx, dword [ebp + 8]
movzx ecx, byte [eax + 0x10]
cmp byte [ecx + ebx], 1
jne 0x1005e2af
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 0x1005e2f2
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1005e2d4
mov eax, ecx
mov ecx, dword [eax]
cmp byte [ecx + 0xd], 0
jne 0x1005e2f2
mov eax, ecx
mov ecx, dword [eax]
cmp byte [ecx + 0xd], 0
je 0x1005e2c8
jmp 0x1005e2f2
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x1005e2f0
lea ecx, [ecx]
cmp eax, dword [ecx + 8]
jne 0x1005e2f0
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x1005e2e0
mov eax, ecx
cmp eax, edx
jne 0x1005e291
cmp esi, edx
je 0x1005ef12
mov edi, edi
cmp byte [esi + 0x14], 0
je 0x1005eec9
mov ebx, dword [edi + 0x6f0]
add ebx, 0xedc
cmp dword [ebx + 0x14], 0x10
jb 0x1005e320
mov eax, dword [ebx]
jmp 0x1005e322
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 0x1005e399
cmp dword [ebx + 0x14], 0x10
jb 0x1005e33f
mov ebx, dword [ebx]
mov eax, str.com.tencent.lolm
mov cl, byte [ebx]
cmp cl, byte [eax]
jne 0x1005e364
test cl, cl
je 0x1005e360
mov cl, byte [ebx + 1]
cmp cl, byte [eax + 1]
jne 0x1005e364
add ebx, 2
add eax, 2
test cl, cl
jne 0x1005e344
xor eax, eax
jmp 0x1005e369
sbb eax, eax
or eax, 1
test eax, eax
je 0x1005e399
cmp byte [esi + 0x2f], 0
jne 0x1005e383
movzx eax, byte [esi + 0x10]
cmp dword [0x100ec5dc], eax
je 0x1005e383
xor al, al
jmp 0x1005e385
mov al, 1
push eax
lea eax, [esp + 0x28]
push eax
lea ebx, [esi + 0x14]
push ebx
push ecx
mov ecx, edi
call fcn.1005db70
jmp 0x1005e3c3
cmp byte [esi + 0x2f], 0
jne 0x1005e3af
movzx eax, byte [esi + 0x10]
cmp dword [0x100ec5dc], eax
je 0x1005e3af
xor al, al
jmp 0x1005e3b1
mov al, 1
push eax
lea eax, [esp + 0x28]
push eax
lea ebx, [esi + 0x14]
push ebx
push ecx
mov ecx, edi
call fcn.1005d7b0
cmp byte [esi + 0x2c], 0
je 0x1005e9c6
mov edx, dword [ebp + 8]
xor al, al
cmp byte [edx + 1], 1
je 0x1005e3dd
cmp byte [ebp + 0xc], al
je 0x1005e457
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005e450
cmp byte [edx + 1], 1
jne 0x1005e454
mov byte [eax], 1
cmp byte [edx + 1], 1
sete al
cmp byte [esi + 0x14], 0
je 0x1005e4d2
movzx ecx, byte [esi + 0x10]
cmp byte [ecx + edx], 0
je 0x1005e4d2
cmp dword [esi + 0x48], 0
je 0x1005e4d2
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
jmp 0x1005e4d6
test al, al
je 0x1005e4fa
mov edx, dword [edi + 0xa0]
test edx, edx
je 0x1005e4fa
cmp byte [esi + 0x32], 0
je 0x1005e4fa
cmp byte [edx], 0
je 0x1005e4fa
mov ecx, 0x20
cmp dword [edx + 0x2c], ecx
cmovl ecx, dword [edx + 0x2c]
mov dword [edx + 0x2c], ecx
cmp byte [esi + 0x14], 0
je 0x1005e820
mov edx, dword [edi + 0x6e4]
xor bl, bl
mov eax, dword [edx]
cmp eax, edx
je 0x1005e56f
mov edx, dword [ebp + 8]
movzx ecx, byte [eax + 0x10]
cmp byte [ecx + edx], 0
mov edx, dword [edi + 0x6e4]
jne 0x1005e56d
cmp byte [eax + 0xd], 0
jne 0x1005e567
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
jne 0x1005e54c
mov eax, ecx
mov ecx, dword [eax]
cmp byte [ecx + 0xd], 0
jne 0x1005e567
mov edi, edi
mov eax, ecx
mov ecx, dword [eax]
cmp byte [ecx + 0xd], 0
je 0x1005e540
jmp 0x1005e567
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x1005e565
cmp eax, dword [ecx + 8]
jne 0x1005e565
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x1005e555
mov eax, ecx
cmp eax, edx
jne 0x1005e512
jmp 0x1005e56f
mov bl, 1
test bl, bl
je 0x1005e5d3
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005e820
mov eax, dword [edi + 0x38]
test eax, eax
je 0x1005e7b9
mov ecx, dword [esp + 0x2c]
test cl, cl
jne 0x1005e624
movzx eax, byte [eax + 4]
mov ecx, dword [ebp + 8]
cmp byte [eax + ecx], 1
je 0x1005e620
cmp byte [ecx + 4], 1
jne 0x1005e609
cmp byte [esi + 0x10], 4
jne 0x1005e620
cmp byte [ecx + 2], 1
jne 0x1005e7b9
cmp dword [edi + 0xa0], 0
jne 0x1005e7b9
mov ecx, dword [esp + 0x2c]
cmp byte [0x100ec5f0], 0
mov byte [esi + 0x14], 0
je 0x1005e696
test cl, cl
je 0x1005e696
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
jmp 0x1005e772
mov eax, dword [edi + 0x38]
cmp dword [eax], 0
jne 0x1005e6a3
add eax, 8
jmp 0x1005e6a6
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 [0x100ce060]
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005e6c0
mov eax, dword [edi + 0x38]
mov edx, dword [ebp + 8]
movzx eax, byte [eax + 4]
cmp byte [eax + edx], 1
jne 0x1005e78f
mov byte [eax + edi + 0xc4], 0
jmp 0x1005e823
cmp byte [edx + 4], 1
jne 0x1005e7a1
mov byte [edi + 0xc8], 0
jmp 0x1005e823
cmp dword [edi + 0xa0], 0
jne 0x1005e823
cmp byte [edx + 2], 1
jne 0x1005e823
mov byte [edi + 0xc6], 0
jmp 0x1005e823
cmp byte [esp + 0x2c], 0
je 0x1005e820
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005eec9
cmp dword [esi + 0x48], 0
je 0x1005eec9
movzx ecx, byte [esi + 0x10]
cmp byte [ecx + edx], 1
jne 0x1005eec9
mov eax, dword [esi + 0x34]
mov ebx, dword [esp + 0x14]
add eax, 0x12c
cmp ebx, eax
jbe 0x1005eec9
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.10033f10
mov edx, dword [esi + 0x58]
mov ecx, 0x9249248
sub ecx, edx
mov dword [esp + 0x18], eax
cmp ecx, 1
jb 0x1005ef6a
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005e977
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 0x1005e98d
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
mov eax, dword [edx + 4]
mov dword [eax], edx
jmp 0x1005eec9
movzx edx, byte [esi + 0x10]
mov ecx, dword [ebp + 8]
cmp byte [edx + ecx], 0
jne 0x1005ed8b
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005ea56
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.10054790
or dword [esp + 0x3c], 1
cmp dword [eax + 0x14], 8
jb 0x1005ea73
mov eax, dword [eax]
push 0x100c15f4
push eax
call dword [sym.imp.MSVCR120.dll_wcsstr]
add esp, 8
test eax, eax
je 0x1005ea90
cmp dword [esi + 0x50], 3
jne 0x1005ea90
mov bl, 1
jmp 0x1005ea92
xor bl, bl
mov eax, dword [esp + 0x3c]
test al, 1
je 0x1005eab5
and eax, 0xfffffffe
cmp dword [esp + 0x74], 8
mov dword [esp + 0x3c], eax
jb 0x1005eab5
push dword [esp + 0x60]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
test bl, bl
je 0x1005eac0
mov eax, dword [esp + 0x14]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xa0]
test edx, edx
je 0x1005eae4
cmp byte [esi + 0x32], 0
je 0x1005eae4
cmp byte [edx], 0
je 0x1005eae4
mov ecx, 0x20
cmp dword [edx + 0x2c], ecx
cmovl ecx, dword [edx + 0x2c]
mov dword [edx + 0x2c], ecx
cmp byte [0x100ec5ca], 0
je 0x1005ed88
cmp dword [esi + 0x50], 3
jne 0x1005ed88
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.1005b5c0
mov eax, dword [edi + 0xa0]
test eax, eax
je 0x1005ec2e
mov ebx, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
cmp ebx, dword [eax + 4]
jne 0x1005eb3f
cmp ecx, dword [eax + 8]
je 0x1005ed88
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 0x1005ed88
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 [0x100ce2f0]
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 0x44]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005ed88
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x1005ed88
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 + 0x13]
mov dword [esp + 0x64], eax
test dl, dl
jne 0x1005ed2e
mov eax, dword [edi + 0x6f0]
lea ecx, [esp + 0x60]
push ecx
movsd xmm0, qword [eax + 0x1038]
xor eax, eax
comisd xmm0, xmmword [0x100ce2f0]
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 0x68]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 0x68]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005eec9
mov eax, dword [edi + 0x38]
test eax, eax
je 0x1005eec9
movzx eax, byte [eax + 4]
cmp byte [eax + ecx], 1
je 0x1005edbe
cmp byte [ecx + 4], 1
jne 0x1005eec9
cmp byte [esi + 0x10], 4
je 0x1005eec9
mov byte [esi + 0x14], 0
mov eax, dword [edi + 0x38]
cmp dword [eax], 0
jne 0x1005edcf
add eax, 8
jmp 0x1005edd2
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 [0x100ce060]
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005edf0
mov eax, dword [edi + 0x38]
mov ecx, dword [ebp + 8]
movzx eax, byte [eax + 4]
cmp byte [eax + ecx], 1
jne 0x1005eebc
mov byte [eax + edi + 0xc4], 0
jmp 0x1005eec9
cmp byte [ecx + 4], 1
jne 0x1005eec9
mov byte [edi + 0xc8], 0
cmp byte [esi + 0xd], 0
jne 0x1005ef09
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x1005eeee
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x1005ef09
mov esi, eax
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x1005eee2
jmp 0x1005ef09
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x1005ef07
cmp esi, dword [eax + 8]
jne 0x1005ef07
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1005eef7
mov esi, eax
cmp esi, dword [edi + 0x30]
jne 0x1005e300
mov eax, dword [edi + 0x30]
mov esi, dword [eax]
mov dword [esp + 0x2c], esi
cmp esi, eax
je 0x1005fc2f
cmp dword [esi + 0x58], 0
jne 0x1005fbd3
cmp byte [esi + 0x14], 0
lea ebx, [esi + 0x14]
je 0x1005f1b0
mov ecx, dword [edi + 0x6f0]
call fcn.100261e0
test al, al
movzx eax, byte [esi + 0x10]
je 0x1005ef75
cmp dword [0x100ec5dc], eax
sete al
movzx eax, al
push eax
lea eax, [esp + 0x50]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.1005d7b0
jmp 0x1005ef90
push str.list_T__too_long
call dword [sym.imp.MSVCP120.dll_void___cdecl_std::_Xlength_error_char_const__]
cmp dword [0x100ec5dc], eax
sete al
movzx eax, al
push eax
lea eax, [esp + 0x50]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.1005db70
mov bl, byte [esi + 0x10]
mov ecx, edi
push ebx
call fcn.1005d6d0
test al, al
jne 0x1005f19e
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 0x1005f155
cmp dword [esi + 0x3c], ebx
jne 0x1005f155
cmp byte [0x100ec5c9], 0
je 0x1005f08c
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x1005effb
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 0x1005f04b
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 0x1005f162
mov ecx, dword [edi + 0x6f0]
call fcn.100261e0
test al, al
jne 0x1005f196
mov eax, dword [esi + 0x44]
cmp eax, 2
ja 0x1005f196
jae 0x1005f162
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x1005f0c3
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 0x1005f04b
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 0x1005f162
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005fbd3
lea eax, [esp + 0x4c]
mov ecx, edi
push eax
push ebx
call fcn.1005d730
jmp 0x1005fbd3
mov bl, byte [esi + 0x10]
mov ecx, dword [ebp + 8]
movzx eax, bl
mov dword [esp + 0x18], eax
cmp byte [eax + ecx], 1
jne 0x1005fbd3
push ebx
mov ecx, edi
call fcn.1005d6d0
test al, al
jne 0x1005fbd3
cmp dword [esi + 0x48], 0
je 0x1005fbd3
push dword [ebp + 8]
push ebx
push 0
call fcn.100650a0
test al, al
je 0x1005fbd3
cmp byte [esi + 0x2e], 0
je 0x1005f2a6
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [esi + 0x58]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
lea ecx, [eax + 1]
mov dword [esi + 0x58], ecx
mov dword [ebx + 4], edx
jmp 0x1005f916
mov ebx, dword [edi + 0x6f0]
mov eax, dword [ebx + 0xeb0]
cmp eax, 0x5a
je 0x1005f2cc
cmp eax, 0x10e
je 0x1005f2cc
mov eax, dword [ebx + 0xf24]
mov ecx, dword [ebx + 0xf28]
jmp 0x1005f2d8
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 0x1005f361
cmp byte [ecx + 0x129], 0
jne 0x1005f361
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.1006d790
mov ecx, dword [edi + 0x6f0]
call fcn.100261e0
test al, al
lea ebx, [esi + 0x14]
movzx eax, byte [esi + 0x10]
je 0x1005f394
cmp dword [0x100ec5dc], eax
sete al
movzx eax, al
push eax
lea eax, [esp + 0x38]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.1005d7b0
jmp 0x1005f3af
cmp dword [0x100ec5dc], eax
sete al
movzx eax, al
push eax
lea eax, [esp + 0x38]
push eax
push ebx
push ecx
mov ecx, edi
call fcn.1005db70
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005f43b
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 0x1005f7d3
mov eax, dword [edi + 0x6f0]
add eax, 0xedc
cmp dword [eax + 0x14], 0x10
jb 0x1005f467
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 0x1005f7d3
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 [0x100ce280]
jbe 0x1005f5ed
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 0x1005f510
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005f510
jmp 0x1005f6c1
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 0x1005f616
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 0x1005f666
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.100305d0
add esi, 0x10
dec dword [esp + 0x1c]
jne 0x1005f600
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.100261e0
test al, al
jne 0x1005f793
call dword [sym.imp.MSVCR120.dll_rand]
and eax, reloc.WS2_32.dll_accept
jns 0x1005f705
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 0x1005f755
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005f882
mov eax, dword [esp + 0x14]
mov edx, 1
add eax, 0x10
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
jmp 0x1005f7f0
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005f7f0
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 0x1005fbd3
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.10033f10
mov edx, eax
mov ecx, 0x9249248
mov eax, dword [ebx + 4]
sub ecx, eax
cmp ecx, 1
jb 0x1005ef6a
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 0x1005f932
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.10054790
or dword [esp + 0x3c], 2
cmp dword [eax + 0x14], 8
jb 0x1005f94f
mov eax, dword [eax]
push 0x100c15f4
push eax
call dword [sym.imp.MSVCR120.dll_wcsstr]
add esp, 8
test eax, eax
je 0x1005f96c
cmp dword [esi + 0x50], 3
jne 0x1005f96c
mov bl, 1
jmp 0x1005f96e
xor bl, bl
mov eax, dword [esp + 0x3c]
test al, 2
je 0x1005f991
and eax, 0xfffffffd
cmp dword [esp + 0x74], 8
mov dword [esp + 0x3c], eax
jb 0x1005f991
push dword [esp + 0x60]
call dword [sym.imp.MSVCR120.dll_void___cdecl_operator_delete_void__]
add esp, 4
test bl, bl
je 0x1005f99c
mov eax, dword [esp + 0x14]
mov dword [edi + 0x3c], eax
mov edx, dword [edi + 0xa0]
test edx, edx
je 0x1005f9c0
cmp byte [esi + 0x32], 0
je 0x1005f9c0
cmp byte [edx], 0
je 0x1005f9c0
mov ecx, 0x20
cmp dword [edx + 0x2c], ecx
cmovl ecx, dword [edx + 0x2c]
mov dword [edx + 0x2c], ecx
cmp byte [0x100ec5ca], 0
je 0x1005fbd3
cmp dword [esi + 0x50], 3
jne 0x1005fbd3
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.1005b5c0
mov eax, dword [edi + 0xa0]
test eax, eax
je 0x1005fadb
mov ebx, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
cmp ebx, dword [eax + 4]
jne 0x1005fa1b
cmp ecx, dword [eax + 8]
je 0x1005fbd3
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 0x1005fbd3
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 [0x100ce2f0]
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.100305d0
mov eax, dword [edi + 0xa0]
inc dword [eax + 0x18]
jmp 0x1005fbd3
mov eax, dword [edi + 0x8c]
test eax, eax
je 0x1005fbd3
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 + 0x13]
mov dword [esp + 0x64], eax
test dl, dl
jne 0x1005fbac
mov eax, dword [edi + 0x6f0]
movsd xmm0, qword [eax + 0x1038]
xor eax, eax
comisd xmm0, xmmword [0x100ce2f0]
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.100305d0
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.100305d0
cmp byte [esi + 0xd], 0
jne 0x1005fc26
mov eax, dword [esi + 8]
cmp byte [eax + 0xd], 0
jne 0x1005fc00
mov esi, eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
jne 0x1005fc26
mov esi, eax
mov dword [esp + 0x2c], esi
mov eax, dword [esi]
cmp byte [eax + 0xd], 0
je 0x1005fbf0
jmp 0x1005fc26
mov eax, dword [esi + 4]
cmp byte [eax + 0xd], 0
jne 0x1005fc20
lea esp, [esp]
cmp esi, dword [eax + 8]
jne 0x1005fc20
mov esi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x1005fc10
mov esi, eax
mov dword [esp + 0x2c], esi
cmp esi, dword [edi + 0x30]
jne 0x1005ef23
mov ecx, dword [edi + 0x30]
mov eax, dword [ecx]
mov dword [esp + 0x1c], eax
cmp eax, ecx
je 0x1005fc6c
lea esp, [esp]
movzx ecx, byte [eax + 0x10]
mov edx, dword [ebp + 8]
cmp byte [ecx + edx], 0
jne 0x1005fc5a
cmp dword [eax + 0x48], 0
jne 0x1005fc5a
mov dword [eax + 0x48], 1
lea ecx, [esp + 0x1c]
call fcn.10009e10
mov eax, dword [esp + 0x1c]
cmp eax, dword [edi + 0x30]
jne 0x1005fc40
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.100ab974
mov esp, ebp
pop ebp
ret 0xc