Function at 0x586250
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5f9170
mov eax, dword fs:[0]
push eax
sub esp, 0x918
mov eax, dword [0x704200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x914], esi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x918], edi
mov ebx, dword [edi + 4]
mov dword [ebp - 0x920], ebx
test ebx, ebx
jne 0x5862a3
xor eax, eax
jmp 0x5893dc
push 0
call dword [0x5fdacc]
push ecx
push 0
push 1
mov edx, 0x693c98
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 2
mov edx, 0x693cc0
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 3
mov edx, 0x693d08
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 4
mov edx, 0x693d48
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 5
mov edx, 0x693d70
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 6
mov edx, 0x693d90
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 7
mov edx, 0x693db4
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 8
mov edx, 0x693dd8
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 9
mov edx, 0x693e20
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 0xa
mov edx, 0x693e78
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 0xb
mov edx, 0x693e90
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 0xc
mov edx, 0x693ed0
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 0xd
mov edx, 0x693f0c
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 0xe
mov edx, 0x693f4c
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 0xf
mov edx, 0x693f84
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 0x10
mov edx, 0x693fb8
mov ecx, ebx
call fcn.00528150
push ecx
push 0
push 0x11
mov edx, 0x693ff0
mov ecx, ebx
call fcn.00528150
xorps xmm0, xmm0
mov dword [ebp - 0x18], 0
lea ecx, [ebp - 0x20]
movq qword [ebp - 0x20], xmm0
call fcn.00545940
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x34]
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
movq qword [ebp - 0x34], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0xc8], 0
lea ecx, [ebp - 0xd0]
movq qword [ebp - 0xd0], xmm0
call fcn.00545940
push 0
push 5
lea ecx, [esi + 0x14c0]
mov byte [ebp - 4], 2
call fcn.00514200
cmp dword [edi + 4], 0
je 0x58650f
mov ecx, 3
call fcn.004fbfe0
mov esi, eax
mov dword [ebp - 0x6c], esi
mov byte [ebp - 4], 3
cmp dword [esi], 0
mov dword [ebp - 0x44], 0
jbe 0x5864cb
xor edx, edx
mov dword [ebp - 0x8fc], edx
mov ecx, dword [esi + 0xc]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
add ecx, edx
push 0x654980
call fcn.005454f0
push eax
push str.HKU_
lea ecx, [ebp - 0x20]
call fcn.00545560
push edi
push 0x10
lea ecx, [ebp - 0x20]
call fcn.005454f0
mov ecx, dword [ebp - 0x914]
push eax
call fcn.00585af0
cmp dword [edi + 4], 0
je 0x58652b
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x8fc]
inc eax
add edx, 0xc
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x8fc], edx
cmp eax, dword [esi]
jb 0x586465
mov ecx, dword [ebp - 0x914]
push edi
push 0x10
push 0x694030
call fcn.00585af0
cmp dword [edi + 4], 0
je 0x58652b
mov ecx, dword [ebp - 0x914]
push edi
push 0x10
push 0x6940a8
call fcn.00585af0
cmp dword [edi + 4], 0
je 0x58652b
push ecx
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.00404090
mov esi, dword [ebp - 0x914]
push 0
push 0xa
lea ecx, [esi + 0x14c0]
call fcn.00514200
cmp dword [edi + 4], 0
jne 0x58653a
xor esi, esi
jmp 0x5893bf
push ecx
mov ecx, esi
call fcn.00404090
xor esi, esi
jmp 0x5893bf
mov eax, dword [edi]
movsd xmm0, qword [eax + 8]
comisd xmm0, xmmword [0x6e3260]
jbe 0x586561
push 0xffffffffffffffff
push 0x11
push 0
push dword [edi + 0x10]
mov ecx, esi
push dword [eax + 0x14b4]
call fcn.00571740
push 0
push 0xf
lea ecx, [esi + 0x14c0]
call fcn.00514200
push 0
push 1
push 0x678870
xor edx, edx
mov ecx, ebx
call fcn.005281d0
mov dword [ebp - 0x44], eax
call fcn.004ea710
push 0x38
lea eax, [ebp - 0xc4]
push 0
push eax
call fcn.004201d0
add esp, 8
lea ecx, [ebp - 0xc4]
push 0x6295e4
call fcn.004e6f90
push 0x63e878
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 4
call fcn.004e6d90
test eax, eax
je 0x586780
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x586780
push 1
push 0x671a40
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
lea ecx, [ebp - 0x20]
call fcn.00545870
push 0x11
push 1
push 1
push 0
push 0x671a50
lea ecx, [ebp - 0x20]
call fcn.00543e30
test eax, eax
je 0x58661a
push 0xa
lea ecx, [ebp - 0x20]
call fcn.00544110
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x671a74
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x61e0f8
lea ecx, [ebp - 0x20]
call fcn.00543b40
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x671aa4
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x678860
lea ecx, [ebp - 0x20]
call fcn.00543b40
push 0
push 0x66b350
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
lea ecx, [ebp - 0x34]
call fcn.00545870
lea ecx, [ebp - 0x34]
call fcn.00545700
test eax, eax
je 0x5866cd
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x61e0f8
jmp 0x5866fc
lea eax, [ebp - 0x34]
push eax
call fcn.004cf440
test eax, eax
je 0x586704
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x67884c
lea ecx, [ebp - 0x20]
call fcn.00543b40
push ecx
push 0x671ad0
lea ecx, [ebp - 0xc4]
call fcn.004e6880
push eax
lea ecx, [ebp - 0x34]
call fcn.00545870
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x694134
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea ecx, [ebp - 0x20]
call fcn.005454f0
mov edx, dword [ebp - 0x44]
mov ecx, ebx
push eax
push 1
call fcn.00527de0
push 0
push 0x629ef0
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
lea ecx, [ebp - 0xd0]
call fcn.00545870
jmp 0x586958
push 0
push 0x20019
push 0x628e70
lea ecx, [ebp - 0x8f8]
mov dword [ebp - 0x8f8], 0
call fcn.0053fe40
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 5
push eax
push 0x626cb8
lea ecx, [ebp - 0x8f8]
call fcn.0053fb00
cmp byte [esi + 0x11], 0
mov ecx, 0x622228
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, 0x622258
cmove eax, ecx
lea ecx, [ebp - 0x20]
push 0
push eax
call fcn.00543b40
lea eax, [ebp - 0x34]
push eax
push 0x634fac
lea ecx, [ebp - 0x8f8]
call fcn.0053fb00
test al, al
jne 0x586819
lea eax, [ebp - 0x34]
push eax
push 0x628f20
lea ecx, [ebp - 0x8f8]
call fcn.0053fb00
test al, al
je 0x586881
push 0xb
push 1
push 1
push 1
push 0x628f08
lea ecx, [ebp - 0x20]
call fcn.00543e30
test eax, eax
je 0x586857
lea ecx, [ebp - 0x34]
call fcn.005443a0
cmp eax, 0x55f0
jb 0x586857
push 0
push 1
push 0x628f3c
push 0x628f08
lea ecx, [ebp - 0x20]
call fcn.00543640
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x678860
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea eax, [ebp - 0x34]
push eax
call fcn.004cf440
test eax, eax
je 0x5868b8
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x67884c
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea eax, [ebp - 0x74]
xorps xmm0, xmm0
push eax
push 0x671b04
lea ecx, [ebp - 0x8f8]
movlpd qword [ebp - 0x74], xmm0
call fcn.0053f9e0
test al, al
je 0x58691d
mov eax, dword [ebp - 0x74]
lea edx, [ebp - 0x34]
mov dword [ebp - 0x3c], eax
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x38], eax
call fcn.005398f0
test al, al
je 0x58691d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x694134
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea ecx, [ebp - 0x20]
call fcn.005454f0
mov edx, dword [ebp - 0x44]
mov ecx, ebx
push eax
push 1
call fcn.00527de0
lea eax, [ebp - 0xd0]
push eax
push 0x694158
lea ecx, [ebp - 0x8f8]
call fcn.0053fb00
lea ecx, [ebp - 0x8f8]
mov byte [ebp - 4], 4
call fcn.0053fda0
cmp dword [edi + 4], 0
jne 0x586965
xor esi, esi
jmp 0x5893b4
push 0
push 0x14
lea ecx, [esi + 0x14c0]
call fcn.00514200
lea ecx, [ebp - 0x144]
call fcn.00402af0
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 6
call fcn.004e7b10
push 0
push 1
push 0x69416c
mov edx, 1
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0x138]
mov esi, eax
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
lea eax, [ebp - 0xd4]
mov dword [ebp - 0x910], 0
push eax
lea eax, [ebp - 0x910]
push eax
push 0
call dword [0x5fd554]
mov ecx, dword [ebp - 0x914]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ecx + 0x1a0]
call fcn.005454f0
push eax
push 0x62aff4
lea ecx, [ebp - 0x20]
call fcn.00545560
mov eax, dword [ebp - 0xd4]
cmp eax, 2
jne 0x586a3b
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x910]
push 0x694180
jmp 0x586a5f
cmp eax, 3
jne 0x586a67
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebp - 0x910]
push 0x6941a0
lea ecx, [ebp - 0x20]
call fcn.00543b40
mov eax, dword [ebp - 0x910]
test eax, eax
je 0x586a78
push eax
call dword [0x5fd55c]
push 0
push 1
push 0x6941bc
mov edx, 2
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0x20]
mov esi, eax
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0
push 1
push 0x6941cc
mov edx, 3
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0x108]
mov esi, eax
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0
push 1
push 0x6941e4
mov edx, 4
mov ecx, ebx
call fcn.005281d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x120]
mov esi, eax
call fcn.005454f0
push eax
push 0x628618
lea ecx, [ebp - 0x12c]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20]
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0
push 1
push 0x6941f0
mov edx, 5
mov ecx, ebx
call fcn.005281d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x114]
mov esi, eax
mov edi, 6
call fcn.005454f0
push eax
push 0x628388
lea ecx, [ebp - 0x20]
call fcn.00545560
lea ecx, [ebp - 0xfc]
call fcn.00545700
test eax, eax
je 0x586bb8
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0xfc]
call fcn.005454f0
push eax
push 0x628618
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0x694228
lea ecx, [ebp - 0xc4]
call fcn.004e6d90
test eax, eax
je 0x586c50
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x586c50
push 0
push 0x6280d0
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
lea ecx, [ebp - 0x20]
call fcn.00545870
push 0
push 1
push 1
push 0
push 0x69426c
lea ecx, [ebp - 0x20]
call fcn.00543e30
test eax, eax
je 0x586be0
push 0
push 1
push 0x69427c
mov edx, edi
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0x20]
mov esi, eax
mov edi, 7
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0x6942a0
lea ecx, [ebp - 0xc4]
call fcn.004e6d90
test eax, eax
je 0x586d53
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x586d53
push 0x694314
lea ecx, [ebp - 0xc4]
call fcn.004e6910
lea ecx, [ebp - 0x20]
cmp eax, 1
jne 0x586c9f
push 0x694330
call fcn.00545870
jmp 0x586cf9
cmp eax, 2
jne 0x586cb0
push 0x694344
call fcn.00545870
jmp 0x586cf9
cmp eax, 4
jne 0x586cc1
push 0x694354
call fcn.00545870
jmp 0x586cf9
cmp eax, 5
jne 0x586cd2
push 0x694380
call fcn.00545870
jmp 0x586cf9
cmp eax, 6
jne 0x586ce3
push 0x6943d8
call fcn.00545870
jmp 0x586cf9
cmp eax, 7
jne 0x586cf4
push 0x6943f4
call fcn.00545870
jmp 0x586cf9
call fcn.00545760
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69441c
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
lea ecx, [ebp - 0x20]
call fcn.00543b40
push 0
push 1
push 0x694434
mov edx, edi
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0x20]
mov esi, eax
inc edi
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0
push 0x20019
push 0x628e70
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x44], 0
call fcn.0053fe40
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 7
push eax
push 0x694450
lea ecx, [ebp - 0x44]
call fcn.0053fb00
lea eax, [ebp - 0x34]
push eax
push 0x694470
lea ecx, [ebp - 0x44]
call fcn.0053fb00
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x6944a0
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 0x6944c8
lea ecx, [ebp - 0x20]
call fcn.00545560
push 0
push 1
push 0x6944d8
mov edx, edi
mov ecx, ebx
call fcn.005281d0
mov esi, dword [ebp - 0x918]
lea ecx, [ebp - 0x20]
inc edi
mov dword [esi + 8], eax
call fcn.005454f0
mov edx, dword [esi + 8]
mov ecx, ebx
push eax
push 1
call fcn.00527de0
cmp dword [esi + 4], 0
je 0x58939f
mov ecx, dword [ebp - 0x914]
push 0
push 0x19
lea ecx, [ecx + 0x14c0]
call fcn.00514200
cmp dword [esi + 4], 0
je 0x58939f
push edi
mov ecx, ebx
call fcn.004f2b50
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
mov edi, eax
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x50]
movq qword [ebp - 0x50], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x80]
movq qword [ebp - 0x80], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x8c], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov byte [ebp - 4], 0xb
push 0x1a
lea ecx, [ebp - 0x90c]
movlpd qword [ebp - 0x90c], xmm0
call fcn.004036b0
mov byte [ebp - 4], 0xc
mov edx, 3
mov esi, dword [ebp - 0x90c]
mov ecx, esi
push 2
call fcn.004f6060
mov dword [ebp - 0x28], eax
test eax, eax
jle 0x587035
mov dword [ebp - 0x8fc], esi
lea eax, [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.005454f0
lea edx, [ebp - 0x64]
mov ecx, eax
call fcn.004f5f00
test eax, eax
je 0x58701c
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
lea eax, [ebp - 0x74]
push eax
push 0
call fcn.005454f0
push eax
call dword [0x5fd440]
test eax, eax
je 0x58701c
push ecx
push 0
push dword [ebp - 0x70]
lea ecx, [ebp - 0x50]
push dword [ebp - 0x74]
call fcn.00544260
push ecx
push 0
push dword [ebp - 0x38]
lea ecx, [ebp - 0x80]
push dword [ebp - 0x3c]
call fcn.00544260
lea ecx, [ebp - 0x64]
call fcn.005451f0
test al, al
je 0x586f4e
push 0x634370
call fcn.00545870
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d170
mov ecx, esi
call fcn.005454f0
push eax
push 0x6264dc
lea ecx, [ebp - 0x64]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20]
call fcn.00545560
push 0
push 2
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
mov ecx, dword [ebp - 0x8fc]
mov esi, eax
push 0
push 0
push 0
push 0
push 0x6944f4
inc edi
call fcn.005454f0
push ecx
mov ecx, eax
call fcn.004f6250
add esp, 4
mov ecx, 0x627c7c
test al, al
mov eax, 0x694510
cmove ecx, eax
push ecx
push 0x69451c
lea ecx, [ebp - 0x8c]
call fcn.005454f0
push eax
push 0x694534
lea ecx, [ebp - 0x50]
call fcn.005454f0
push eax
push 0x67237c
lea ecx, [ebp - 0x80]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20]
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
mov esi, dword [ebp - 0x8fc]
add esi, 0xc
sub dword [ebp - 0x28], 1
mov dword [ebp - 0x8fc], esi
jne 0x586ed6
mov esi, dword [ebp - 0x90c]
push 2
mov edx, 2
mov ecx, esi
call fcn.004f6060
mov dword [ebp - 0x28], eax
test eax, eax
jle 0x587186
mov dword [ebp - 0x8fc], esi
lea eax, [ebp - 0x8c]
mov ecx, esi
push eax
call fcn.005454f0
lea edx, [ebp - 0x64]
mov ecx, eax
call fcn.004f5f00
test eax, eax
je 0x587173
lea eax, [ebp - 0x3c]
mov ecx, esi
push eax
lea eax, [ebp - 0x74]
push eax
push 0
call fcn.005454f0
push eax
call dword [0x5fd440]
test eax, eax
je 0x587173
push ecx
push 0
push dword [ebp - 0x70]
lea ecx, [ebp - 0x50]
push dword [ebp - 0x74]
call fcn.00544260
push ecx
push 0
push dword [ebp - 0x38]
lea ecx, [ebp - 0x80]
push dword [ebp - 0x3c]
call fcn.00544260
lea ecx, [ebp - 0x64]
call fcn.005451f0
test al, al
je 0x5870cc
push 0x694558
call fcn.00545870
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d170
mov ecx, esi
call fcn.005454f0
push eax
push 0x6264dc
lea ecx, [ebp - 0x64]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20]
call fcn.00545560
push 0
push 2
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x694584
lea ecx, [ebp - 0x8c]
mov esi, eax
inc edi
call fcn.005454f0
push eax
push 0x694534
lea ecx, [ebp - 0x50]
call fcn.005454f0
push eax
push 0x67237c
lea ecx, [ebp - 0x80]
call fcn.005454f0
push eax
lea ecx, [ebp - 0x20]
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
mov esi, dword [ebp - 0x8fc]
add esi, 0xc
sub dword [ebp - 0x28], 1
mov dword [ebp - 0x8fc], esi
jne 0x587054
push 0x6945b8
lea ecx, [ebp - 0xc4]
call fcn.004e6d90
test eax, eax
je 0x587290
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x587290
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d170
push 0
push 0x634798
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x694620
lea ecx, [ebp - 0x20]
call fcn.00545560
push 0
push 2
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6280d0
lea ecx, [ebp - 0xc4]
mov esi, eax
inc edi
call fcn.004e69d0
push eax
push 0x62aff4
lea ecx, [ebp - 0x20]
call fcn.00545560
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x694640
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x62a094
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
jne 0x5871b1
mov eax, dword [ebp - 0x90c]
test eax, eax
je 0x5872c6
push fcn.00545790
lea esi, [eax - 4]
mov byte [ebp - 4], 0xd
push dword [esi]
push 0xc
push eax
call fcn.0041e708
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e478
add esp, 8
lea ecx, [ebp - 0x8c]
call fcn.00545790
lea ecx, [ebp - 0x80]
call fcn.00545790
lea ecx, [ebp - 0x50]
call fcn.00545790
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 7
call fcn.00545790
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
je 0x58939f
mov ecx, dword [ebp - 0x914]
push 0
push 0x1e
lea ecx, [ecx + 0x14c0]
call fcn.00514200
cmp dword [esi + 4], 0
je 0x58939f
push 0
push 3
push 0x694654
mov edx, edi
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0x20]
mov esi, eax
call fcn.004e97c0
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0
push 3
push 0x694688
lea edx, [edi + 1]
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0xd0]
mov esi, eax
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
push 0x66b2e8
lea ecx, [ebp - 0x50]
movq qword [ebp - 0x50], xmm0
call fcn.005458d0
push 0
push 3
push 0x6946a8
lea edx, [edi + 2]
mov byte [ebp - 4], 0xe
mov ecx, ebx
call fcn.005281d0
mov esi, eax
lea ecx, [ebp - 0x50]
lea eax, [ebp - 0x20]
push eax
call fcn.005454f0
mov edx, 0x6708cc
mov ecx, eax
call fcn.00458a20
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0
push 3
push 0x6946d0
lea edx, [edi + 3]
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0x20]
mov esi, eax
call fcn.00545760
push eax
lea ecx, [ebp - 0x50]
call fcn.005454f0
mov edx, 0x6706e0
mov ecx, eax
call fcn.00458a20
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6946fc
lea ecx, [ebp - 0x50]
call fcn.00543b40
push 0
push 3
push 0x694724
lea edx, [edi + 4]
mov ecx, ebx
call fcn.005281d0
mov esi, eax
lea ecx, [ebp - 0x50]
lea eax, [ebp - 0x20]
add edi, 5
push eax
call fcn.005454f0
mov edx, 0x6708cc
mov ecx, eax
call fcn.00458a20
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 0
push 0
push 0x1f0
lea ecx, [ebp - 0x20]
call fcn.00544ce0
mov ecx, eax
call fcn.004e74b0
test eax, eax
jle 0x5874b5
push 0
push 3
push 0x69475c
mov edx, edi
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0x20]
mov esi, eax
inc edi
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
xorps xmm0, xmm0
mov dword [ebp - 0x6c], 0
movq qword [ebp - 0x74], xmm0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x70], 0
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
lea edx, [ebp - 0x64]
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x74]
call fcn.00458460
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x8f8], ecx
test eax, eax
jle 0x5875c3
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x64]
sub esi, edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x908], esi
mov dword [ebp - 0x24], eax
lea eax, [ecx + 1]
mov dword [ebp - 0x8fc], eax
cmp dword [ebp - 0x74], ecx
ja 0x587546
mov dword [ebp - 0x74], eax
jmp 0x58754c
mov dword [ebp - 0x8fc], eax
push 0
push 3
lea ecx, [esi + edx]
call fcn.005454f0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
mov ecx, dword [ebp - 0x28]
mov esi, eax
mov eax, dword [ebp - 0x24]
inc edi
cmp eax, dword [ebp - 0x8f8]
cmovbe eax, dword [ebp - 0x8fc]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x64], eax
lea eax, [ebp - 0x20]
push eax
call fcn.005454f0
mov edx, 0x6708cc
mov ecx, eax
call fcn.00458a20
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x8fc]
add edx, 0xc
mov esi, dword [ebp - 0x908]
mov dword [ebp - 0x8f8], ecx
mov dword [ebp - 0x28], edx
cmp ecx, dword [ebp - 0x38]
jl 0x587533
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x5875f6
push fcn.00545790
lea esi, [eax - 4]
mov byte [ebp - 4], 0x11
push dword [esi]
push 0xc
push eax
call fcn.0041e708
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e478
add esp, 8
mov eax, dword [ebp - 0x6c]
test eax, eax
je 0x587629
push fcn.00545790
lea esi, [eax - 4]
mov byte [ebp - 4], 0x12
push dword [esi]
push 0xc
push eax
call fcn.0041e708
mov eax, dword [esi]
lea eax, [eax + eax*2]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.0041e478
add esp, 8
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 7
call fcn.00545790
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
je 0x58939f
push edi
mov ecx, ebx
call fcn.004f22d0
push 0x694798
lea ecx, [ebp - 0xc4]
mov edi, eax
call fcn.004e6d90
test eax, eax
je 0x587806
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x587806
nop word [eax + eax]
push 0
push 0x671a40
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
lea ecx, [ebp - 0x20]
call fcn.00545870
push 7
lea ecx, [ebp - 0x20]
call fcn.005434c0
push 0
push 5
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x672ab4
lea ecx, [ebp - 0xc4]
mov esi, eax
inc edi
call fcn.004e69d0
push eax
push 0x672ad0
lea ecx, [ebp - 0x20]
call fcn.00545560
push ecx
push 0
push 0x672a9c
lea ecx, [ebp - 0xc4]
call fcn.004e68d0
push 0
push eax
lea ecx, [ebp - 0x34]
call fcn.00544260
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x6948a4
lea ecx, [ebp - 0x20]
call fcn.00543b40
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6948bc
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x6948cc
lea ecx, [ebp - 0x20]
call fcn.00543b40
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x672af4
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x6948e8
lea ecx, [ebp - 0x20]
call fcn.00543b40
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69490c
push 0
push 0x672b2c
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x621870
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
jne 0x587680
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
je 0x58939f
mov ecx, dword [ebp - 0x914]
push 0
push 0x28
lea ecx, [ecx + 0x14c0]
call fcn.00514200
cmp dword [esi + 4], 0
je 0x58939f
push 0x344
lea eax, [ebp - 0x5a8]
mov dword [ebp - 0x8f8], 0
push 0
push eax
mov dword [ebp - 0x24], 0
call fcn.004201d0
add esp, 0xc
mov dword [ebp - 0x5ac], 0x348
lea eax, [ebp - 0x5ac]
push 1
push eax
push 0
push 0
call dword [0x5fd7f4]
test eax, eax
je 0x587bdf
xor esi, esi
nop dword [eax]
test dword [ebp - 0x468], 5
je 0x587b9b
xor esi, esi
lea eax, [ebp - 0x8f0]
push 0x344
push esi
push eax
mov dword [ebp - 0x40], esi
call fcn.004201d0
add esp, 0xc
mov dword [ebp - 0x8f4], 0x348
lea eax, [ebp - 0x8f4]
push 1
push eax
push esi
lea eax, [ebp - 0x5a8]
push eax
call dword [0x5fd7f4]
test eax, eax
je 0x587b98
nop dword [eax]
nop word [eax + eax]
test dword [ebp - 0x7b0], 5
mov eax, dword [ebp - 0x8f8]
mov ecx, eax
je 0x587b55
inc eax
mov dword [ebp - 0x8fc], 0
mov dword [ebp - 0x8f8], eax
lea edx, [ebp - 0x8fc]
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
xorps xmm0, xmm0
push eax
movsd qword [ebp - 0x74], xmm0
call fcn.004f1e80
test eax, eax
je 0x587969
mov ecx, dword [ebp - 0x28]
call fcn.00404500
mov ecx, dword [ebp - 0x8fc]
movsd qword [ebp - 0x74], xmm0
call fcn.00404500
addsd xmm0, qword [ebp - 0x74]
xorps xmm1, xmm1
ucomisd xmm1, xmm0
ja 0x587957
sqrtsd xmm0, xmm0
jmp 0x58795c
call fcn.005e3b40
divsd xmm0, qword [0x6e32f8]
movsd qword [ebp - 0x74], xmm0
push 1
lea eax, [ebp - 0x8b0]
push eax
lea ecx, [ebp - 0x20]
call fcn.005455c0
lea ecx, [ebp - 0x34]
call fcn.00545760
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x8c], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x80]
movq qword [ebp - 0x80], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x50]
movq qword [ebp - 0x50], xmm0
call fcn.00545940
mov byte [ebp - 4], 0x15
movsd xmm0, qword [ebp - 0x74]
ucomisd xmm0, qword [0x6e31d0]
lahf
test ah, 0x44
jnp 0x587a6b
movaps xmm1, xmm0
lea ecx, [ebp - 0x8c]
call fcn.005449d0
push 4
lea ecx, [ebp - 0x8c]
call fcn.005441c0
mov ecx, dword [ebp - 0x8fc]
movsx eax, cx
lea ecx, [ebp - 0x80]
push eax
call fcn.00544660
mov ecx, dword [ebp - 0x28]
movsx eax, cx
lea ecx, [ebp - 0x50]
push eax
call fcn.00544660
push 0
push 0
push 0
push 0
push 0
push 0x694918
lea ecx, [ebp - 0x50]
call fcn.005454f0
push eax
push 0x621870
lea ecx, [ebp - 0x80]
call fcn.005454f0
push eax
push 0x694928
lea ecx, [ebp - 0x8c]
call fcn.005454f0
push eax
push 0x694964
lea ecx, [ebp - 0x34]
call fcn.00545560
push 0xdc
lea eax, [ebp - 0x264]
push 0
push eax
call fcn.004201d0
add esp, 0xc
mov eax, 0xdc
mov word [ebp - 0x220], ax
lea eax, [ebp - 0x264]
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x5a8]
push eax
call dword [0x5fd7f0]
test eax, eax
je 0x587afa
push dword [ebp - 0x1b8]
lea ecx, [ebp - 0x80]
call fcn.005445d0
push dword [ebp - 0x1b4]
lea ecx, [ebp - 0x50]
call fcn.005445d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x69490c
lea ecx, [ebp - 0x50]
call fcn.005454f0
push eax
push 0x621870
lea ecx, [ebp - 0x80]
call fcn.005454f0
push eax
push 0x694978
lea ecx, [ebp - 0x34]
call fcn.00543b40
lea ecx, [ebp - 0x34]
call fcn.00545700
test eax, eax
je 0x587b36
push 0
push 6
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
lea ecx, [ebp - 0x34]
mov esi, eax
inc edi
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
mov esi, dword [ebp - 0x40]
lea ecx, [ebp - 0x50]
call fcn.00545790
lea ecx, [ebp - 0x80]
call fcn.00545790
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 7
call fcn.00545790
push 0x344
lea eax, [ebp - 0x8f0]
inc esi
push 0
push eax
mov dword [ebp - 0x40], esi
call fcn.004201d0
add esp, 0xc
mov dword [ebp - 0x8f4], 0x348
lea eax, [ebp - 0x8f4]
push 1
push eax
push esi
lea eax, [ebp - 0x5a8]
push eax
call dword [0x5fd7f4]
test eax, eax
jne 0x5878e0
mov esi, dword [ebp - 0x24]
push 0x344
lea eax, [ebp - 0x5a8]
inc esi
push 0
push eax
mov dword [ebp - 0x24], esi
call fcn.004201d0
add esp, 0xc
mov dword [ebp - 0x5ac], 0x348
lea eax, [ebp - 0x5ac]
push 1
push eax
push esi
push 0
call dword [0x5fd7f4]
test eax, eax
jne 0x587880
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
je 0x58939f
push 0x694998
lea ecx, [ebp - 0xc4]
call fcn.004e6d90
test eax, eax
je 0x587cc7
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x587cc7
push 0
push 7
push 0
push 0x626cb8
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0x694a20
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x38], eax
inc edi
call fcn.004e6910
lea ecx, [ebp - 0x34]
cmp eax, 4
jne 0x587c57
push 0x628e30
jmp 0x587c5c
push 0x65523c
call fcn.00545870
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x629e88
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x694a38
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x694a60
lea ecx, [ebp - 0x20]
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
mov edx, dword [ebp - 0x38]
mov ecx, ebx
push eax
push 1
call fcn.00527de0
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
jne 0x587c14
cmp dword [esi + 4], 0
je 0x58939f
mov ecx, dword [ebp - 0x914]
push 0
push 0x32
lea ecx, [ecx + 0x14c0]
call fcn.00514200
push edi
mov ecx, ebx
call fcn.004f2680
cmp dword [esi + 4], 0
mov edi, eax
je 0x58939f
mov ecx, dword [ebp - 0x914]
push 0
push 0x3c
lea ecx, [ecx + 0x14c0]
call fcn.00514200
cmp dword [esi + 4], 0
je 0x58939f
push 0
push 9
push 0x694a70
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0
push 0
mov esi, eax
call dword [0x5fd8ec]
test eax, eax
mov edx, 0x694aa4
mov ecx, 0x62854c
cmove ecx, edx
mov edx, esi
push ecx
push 1
mov ecx, ebx
call fcn.00527de0
push 0
push 9
push 0x694ac0
lea edx, [edi + 1]
mov ecx, ebx
call fcn.005281d0
mov esi, dword [ebp - 0x918]
add edi, 2
cmp dword [esi + 4], 0
mov dword [esi + 0xc], eax
je 0x58939f
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x672578
push 0x694ae8
push 0x694b30
lea ecx, [ebp - 0x20]
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xc4]
call fcn.004e6d90
test eax, eax
je 0x587f4b
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x587f4b
mov esi, dword [ebp - 0x914]
nop dword [eax]
push 0
push 0xa
push 0
push 0x6280d0
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x672790
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x38], eax
inc edi
call fcn.004e69d0
push eax
push 0x694bb8
lea ecx, [ebp - 0x20]
call fcn.00545560
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6726bc
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x694bc8
lea ecx, [ebp - 0x20]
call fcn.00543b40
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x694be0
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x694c14
lea ecx, [ebp - 0x20]
call fcn.00543b40
movsd xmm0, qword [esi + 8]
comisd xmm0, xmmword [0x6e3230]
jbe 0x587f1d
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x694c48
push 0
push 0x694c54
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x694c78
lea ecx, [ebp - 0x20]
call fcn.00543b40
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x694c48
push 0
push 0x6726d8
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
push 0x694ca0
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea ecx, [ebp - 0x20]
call fcn.005454f0
mov edx, dword [ebp - 0x38]
mov ecx, ebx
push eax
push 1
call fcn.00527de0
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
jne 0x587de0
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
je 0x58939f
mov ecx, dword [ebp - 0x914]
push 0
push 0x46
lea ecx, [ecx + 0x14c0]
call fcn.00514200
push 0
push 0xb
push 0x694cc0
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push ecx
push 0
push dword [ebp - 0x140]
inc edi
lea ecx, [ebp - 0x20]
push dword [ebp - 0x144]
mov esi, eax
mov dword [ebp - 0x91c], edi
call fcn.00544260
push dword [ebp - 0x140]
lea ecx, [ebp - 0x34]
push dword [ebp - 0x144]
call fcn.005448c0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x694cec
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x6264dc
lea ecx, [ebp - 0x20]
call fcn.00543b40
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
xor esi, esi
cmp dword [ebp - 0x13c], esi
jle 0x588092
mov dword [ebp - 0x8fc], esi
push esi
lea ecx, [ebp - 0x20]
call fcn.00544660
sub esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x694cfc
call fcn.005438d0
push 0
push 0xb
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
inc edi
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0xf0], esi
lea ecx, [esi + 1]
mov esi, ecx
ja 0x58805b
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0x8fc]
add ecx, dword [ebp - 0xe8]
call fcn.005454f0
mov edx, dword [ebp - 0x38]
mov ecx, ebx
push eax
push 1
call fcn.00527de0
add dword [ebp - 0x8fc], 0xc
cmp esi, dword [ebp - 0x13c]
jl 0x588005
mov dword [ebp - 0x91c], edi
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
je 0x58939f
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x908], eax
test eax, eax
je 0x588158
xor esi, esi
test eax, eax
je 0x588152
mov dword [ebp - 0x8fc], esi
sub esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x694d1c
push esi
call fcn.005445d0
mov ecx, eax
call fcn.005438d0
push 0
push 0xb
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
inc edi
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0xe4], esi
lea ecx, [esi + 1]
mov esi, ecx
ja 0x58811b
mov dword [ebp - 0xe4], ecx
mov ecx, dword [ebp - 0x8fc]
add ecx, dword [ebp - 0xdc]
call fcn.005454f0
mov edx, dword [ebp - 0x38]
mov ecx, ebx
push eax
push 1
call fcn.00527de0
add dword [ebp - 0x8fc], 0xc
cmp esi, dword [ebp - 0x908]
jb 0x5880c6
mov dword [ebp - 0x91c], edi
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
je 0x58939f
mov ecx, dword [ebp - 0x914]
push 0
push 0x50
lea ecx, [ecx + 0x14c0]
call fcn.00514200
cmp dword [esi + 4], 0
je 0x58939f
push 0x40
lea eax, [ebp - 0x184]
push 0
push eax
call fcn.004201d0
add esp, 0xc
mov dword [ebp - 0x184], 0x40
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
lea ecx, [ebp - 0x50]
movq qword [ebp - 0x50], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x64]
movq qword [ebp - 0x64], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x84], 0
lea ecx, [ebp - 0x8c]
movq qword [ebp - 0x8c], xmm0
call fcn.00545940
xorps xmm0, xmm0
mov dword [ebp - 0x78], 0
lea ecx, [ebp - 0x80]
movq qword [ebp - 0x80], xmm0
call fcn.00545940
lea eax, [ebp - 0x184]
mov byte [ebp - 4], 0x19
push eax
call dword [0x5fd304]
test eax, eax
je 0x5882f5
push 0
push 0xc
push 0x694d38
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push ecx
push 0
push dword [ebp - 0x168]
inc edi
lea ecx, [ebp - 0x50]
push dword [ebp - 0x16c]
mov esi, eax
mov dword [ebp - 0x91c], edi
call fcn.00544260
push ecx
push 0
push dword [ebp - 0x160]
lea ecx, [ebp - 0x64]
push dword [ebp - 0x164]
call fcn.00544260
mov eax, dword [ebp - 0x160]
mov ecx, 0x64
push dword [ebp - 0x168]
mul ecx
push dword [ebp - 0x16c]
mov ecx, eax
mov edx, 0x64
mov eax, dword [ebp - 0x164]
mul edx
add ecx, edx
push ecx
push eax
call fcn.005e2db0
push edx
push eax
lea ecx, [ebp - 0x34]
call fcn.005448c0
push 0
push 0
push 0
push 0
push 0
push 0x621d04
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x694d58
lea ecx, [ebp - 0x64]
call fcn.005454f0
push eax
push 0x694d70
lea ecx, [ebp - 0x50]
call fcn.005454f0
push eax
push 0x694d88
lea ecx, [ebp - 0x20]
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
push 1
push 0x694d98
lea ecx, [ebp - 0x20]
call fcn.005455c0
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xc4]
call fcn.004e6d90
test eax, eax
je 0x58842e
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x58842e
push 0
push 0x6280d0
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
lea ecx, [ebp - 0x80]
call fcn.00545870
push 0
push 0xc
lea ecx, [ebp - 0x80]
call fcn.005454f0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push ecx
push 2
push 0x694e14
lea ecx, [ebp - 0xc4]
mov esi, eax
inc edi
call fcn.004e6990
push edx
push eax
lea ecx, [ebp - 0x34]
call fcn.00544260
push ecx
push 2
push 0x694e30
lea ecx, [ebp - 0xc4]
call fcn.004e6990
push edx
push eax
lea ecx, [ebp - 0x8c]
call fcn.00544260
push ecx
push 0
lea ecx, [ebp - 0x80]
call fcn.005454f0
mov ecx, eax
call fcn.0052fee0
push edx
push eax
lea ecx, [ebp - 0x50]
call fcn.00544260
push 0
push 0
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x50]
call fcn.005454f0
push eax
push 0x628364
lea ecx, [ebp - 0x8c]
call fcn.005454f0
push eax
push 0x694e44
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x694e68
lea ecx, [ebp - 0x20]
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
jne 0x588333
mov dword [ebp - 0x91c], edi
lea ecx, [ebp - 0x80]
call fcn.00545790
lea ecx, [ebp - 0x8c]
call fcn.00545790
lea ecx, [ebp - 0x64]
call fcn.00545790
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 7
call fcn.00545790
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
je 0x58939f
mov ecx, dword [ebp - 0x914]
push 0
push 0x55
add ecx, 0x14c0
call fcn.00514200
cmp dword [esi + 4], 0
je 0x58939f
mov eax, dword [ebp - 0x914]
push ecx
lea ecx, [ebp - 0xc4]
movsd xmm0, qword [eax + 8]
comisd xmm0, xmmword [0x6e3250]
jb 0x5884a7
push 0x671d54
jmp 0x5884ac
push 0x671d80
call fcn.004e6df0
push 1
push 0x671da8
lea ecx, [ebp - 0x20]
call fcn.005455c0
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xc4]
call fcn.004e6d90
test eax, eax
je 0x588592
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x588592
nop
push 0
push 0xd
push 0
push 0x6287e4
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0x671e18
lea ecx, [ebp - 0xc4]
mov esi, eax
inc edi
call fcn.004e68d0
push 0
push 0
push 0
push 0
push 0
mov ecx, eax
mov edx, 0x694e9c
push 0
push 0
test cl, 0x10
mov eax, 0x694e88
push 0
cmove eax, edx
test ecx, 0x1000
push 0
push eax
mov ecx, 0x694ec0
mov eax, 0x694eac
cmove eax, ecx
lea ecx, [ebp - 0x20]
push eax
push 0x694ed8
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
jne 0x5884f0
jmp 0x5885b5
push 0
push 0xd
push 0x694f20
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0x694f68
push 1
mov edx, eax
mov ecx, ebx
inc edi
call fcn.00527de0
push 1
push 0x694fe0
lea ecx, [ebp - 0x20]
call fcn.005455c0
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xc4]
call fcn.004e6d90
test eax, eax
je 0x588695
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x588695
push 0
push 0xd
push 0
push 0x6287e4
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0x671e18
lea ecx, [ebp - 0xc4]
mov esi, eax
inc edi
call fcn.004e68d0
push 0
push 0
push 0
push 0
push 0
mov ecx, eax
mov edx, 0x694e9c
push 0
push 0
test cl, 0x10
mov eax, 0x694e88
push 0
cmove eax, edx
test ecx, 0x1000
push 0
push eax
mov ecx, 0x694ec0
mov eax, 0x694eac
cmove eax, ecx
lea ecx, [ebp - 0x20]
push eax
push 0x695058
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
jne 0x5885f3
jmp 0x5886b8
push 0
push 0xd
push 0x6950a8
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0x6950f0
push 1
mov edx, eax
mov ecx, ebx
inc edi
call fcn.00527de0
push 1
push 0x671e80
lea ecx, [ebp - 0x20]
call fcn.005455c0
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
lea ecx, [ebp - 0xc4]
call fcn.004e6d90
test eax, eax
je 0x588784
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
je 0x588784
push 0
push 0xd
push 0
push 0x6287e4
lea ecx, [ebp - 0xc4]
call fcn.004e69d0
push eax
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0x671e18
lea ecx, [ebp - 0xc4]
mov esi, eax
inc edi
call fcn.004e68d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
test eax, 0x1000
mov ecx, 0x628e30
push 0
mov eax, 0x65523c
cmove eax, ecx
lea ecx, [ebp - 0x20]
push eax
push 0x695160
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
lea ecx, [ebp - 0xc4]
call fcn.004e6c40
test eax, eax
jne 0x5886f6
push 0
push 0xd
push 0x68fe90
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
mov esi, eax
inc edi
call fcn.0052be90
test al, al
mov ecx, 0x65523c
mov eax, 0x628e30
cmove ecx, eax
push ecx
push 0x695160
lea ecx, [ebp - 0x20]
call fcn.00545560
lea ecx, [ebp - 0x20]
call fcn.005454f0
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
mov eax, dword [ebp - 0x914]
movsd xmm0, qword [eax + 8]
comisd xmm0, xmmword [0x6e3250]
jbe 0x58888f
push 0
push 0xd
push 0x6951a8
mov edx, edi
mov ecx, ebx
call fcn.005281d0
push 0
push 0x20019
push 0x6345b0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0
mov esi, eax
inc edi
call fcn.0053fe40
lea eax, [ebp - 0x8fc]
mov dword [ebp - 0x8fc], 0
push eax
push 0x634630
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x28], 0
call fcn.0053fa70
lea eax, [ebp - 0x28]
push eax
push 0x634678
lea ecx, [ebp - 0x24]
call fcn.0053fa70
cmp dword [ebp - 0x8fc], 0
jbe 0x588876
cmp dword [ebp - 0x28], 0
mov eax, 0x6951e0
ja 0x58887b
mov eax, 0x695200
push eax
push 1
mov edx, esi
mov ecx, ebx
call fcn.00527de0
lea ecx, [ebp - 0x24]
call fcn.0053fda0
push 0
push 0xd
push 0x68fc8c
mov edx, edi
mov ecx, ebx
call fcn.005281d0
mov ecx, dword [ebp - 0x914]
inc edi
mov esi, eax
mov dword [ebp - 0x91c], edi
lea ecx, [ecx + 0x1298]
call fcn.004b2a00
test eax, eax
mov edx, 0x6951e0
mov ecx, 0x695200
cmove ecx, edx
mov edx, esi
push ecx
push 1
mov ecx, ebx
call fcn.00527de0
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
je 0x58939f
mov ecx, dword [ebp - 0x914]
push 0
push 0x5a
lea ecx, [ecx + 0x14c0]
call fcn.00514200
cmp dword [esi + 4], 0
je 0x58939f
mov dword [ebp - 0x8f8], 0
lea eax, [ebp - 0x8f8]
mov byte [ebp - 4], 0x1a
push eax
push 0x68040c
push 1
push 0
push 0x680450
call dword [0x5fdad8]
test eax, eax
jns 0x58893b
mov byte [ebp - 4], 0x1b
jmp 0x588a87
mov eax, dword [ebp - 0x8f8]
lea edx, [ebp - 0x8fc]
mov dword [ebp - 0x8fc], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x30]
push 0
push 0xe
push 0x695220
mov edx, edi
mov ecx, ebx
call fcn.005281d0
inc edi
mov edx, 0x628e30
cmp word [ebp - 0x8fc], 0
mov ecx, 0x65523c
mov dword [ebp - 0x91c], edi
cmove ecx, edx
mov edx, eax
push ecx
push 1
mov ecx, ebx
call fcn.00527de0
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x1c
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x8f8]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
jns 0x5889cb
mov byte [ebp - 4], 0x1d
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x5889c2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x1e
jmp 0x588a87
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x5889fd
mov byte [ebp - 4], 0x1f
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x5889f4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x20
jmp 0x588a87
push 0
push 0xe
push 0x69523c
mov edx, edi
mov ecx, ebx
call fcn.005281d0
mov ecx, dword [ebp - 0x28]
inc edi
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x91c], edi
test ecx, ecx
jne 0x588a27
push 0x695268
jmp 0x588a55
cmp ecx, 1
jne 0x588a33
push 0x6952b4
jmp 0x588a55
cmp ecx, 2
jne 0x588a3f
push 0x6952f8
jmp 0x588a55
cmp ecx, 3
jne 0x588a4b
push 0x695350
jmp 0x588a55
cmp ecx, 4
jne 0x588a5d
push 0x6953b0
lea ecx, [ebp - 0x20]
call fcn.00545870
lea ecx, [ebp - 0x20]
call fcn.005454f0
mov edx, dword [ebp - 0x38]
mov ecx, ebx
push eax
push 1
call fcn.00527de0
mov byte [ebp - 4], 0x21
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x588a83
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x22
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0x588a97
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 7
cmp dword [esi + 4], 0
je 0x58939f
mov edi, dword [ebp - 0x914]
push 0
push 0x5f
lea ecx, [edi + 0x14c0]
call fcn.00514200
cmp dword [esi + 4], 0
je 0x58939f
movsd xmm2, qword [edi + 8]
call fcn.004ed6b0
mov dword [ebp - 0x6c], eax
cmp eax, 4
jne 0x588aea
movsd xmm3, qword [edi + 8]
lea edx, [eax - 1]
push 0xffffffffffffffff
mov ecx, 0x635588
call fcn.004ed3f0
mov dword [ebp - 0x904], 0
lea eax, [ebp - 0x904]
mov byte [ebp - 4], 0x23
push eax
push 0x6803fc
push 1
push 0
push 0x6801a4
call dword [0x5fdad8]
test eax, eax
jns 0x588b34
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x904]
test eax, eax
je 0x58937f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x58937f
mov eax, dword [ebp - 0x904]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x54]
movsd xmm0, qword [0x6e3330]
comisd xmm0, xmmword [edi + 8]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x8fc], 4
mov dword [ebp - 0x8f8], 0
jbe 0x588fe5
mov byte [ebp - 4], 0x25
lea edx, [ebp - 0x40]
mov eax, dword [ebp - 0x904]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x58]
test eax, eax
js 0x588fc8
mov edx, dword [ebp - 0x40]
cmp edx, 1
jl 0x588fc8
mov eax, dword [ebp - 0x904]
lea esi, [ebp - 0x8f8]
push esi
push edx
push 0
mov ecx, dword [eax]
push eax
call dword [ecx + 0x48]
mov esi, dword [ebp - 0x918]
test eax, eax
jns 0x588bd5
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0x588bcc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x29
jmp 0x588b1b
cmp dword [esi + 4], 0
jne 0x588bf8
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0x588bef
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x2b
jmp 0x588b1b
mov ecx, dword [ebp - 0x40]
xor edi, edi
mov dword [ebp - 0x908], edi
test ecx, ecx
jle 0x588fbf
mov esi, dword [ebp - 0x914]
add esi, 0x14c0
xor edx, edx
mov dword [ebp - 0x924], esi
mov dword [ebp - 0x38], edx
mov eax, edx
cdq
idiv ecx
push 0
add eax, 0x5f
mov ecx, esi
push eax
call fcn.00514200
mov dword [ebp - 0x900], 0
mov byte [ebp - 4], 0x2c
lea edx, [ebp - 0x900]
mov eax, dword [ebp - 0x8f8]
push edx
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x588c77
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x900]
test eax, eax
je 0x588c6e
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x25
jmp 0x588fa4
mov eax, dword [ebp - 0x900]
lea edx, [ebp - 0x8fc]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
test eax, eax
jns 0x588c94
mov byte [ebp - 4], 0x2e
jmp 0x588c5e
mov eax, dword [ebp - 0x8fc]
cmp eax, 2
je 0x588caa
cmp eax, 3
je 0x588caa
mov byte [ebp - 4], 0x2f
jmp 0x588c5e
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x31
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0x900]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
test eax, eax
jns 0x588cd6
mov byte [ebp - 4], 0x32
jmp 0x588c5e
mov eax, dword [ebp - 0x900]
lea ecx, [ebp - 0x28]
mov esi, dword [eax]
call fcn.00401b40
push eax
push dword [ebp - 0x900]
call dword [esi + 0x30]
test eax, eax
jns 0x588d58
mov esi, dword [ebp - 0x28]
test esi, esi
je 0x588d3b
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x588d3b
mov eax, dword [esi]
test eax, eax
je 0x588d19
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x588d30
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
add esp, 8
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x900]
test eax, eax
je 0x588d4f
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x25
jmp 0x588f9e
lea ecx, [ebp - 0x24]
call fcn.00401b40
movsd xmm0, qword [ebp - 0x64]
push eax
push 0x80000000
push 0
sub esp, 8
movsd qword [esp], xmm0
call dword [0x5fd584]
mov edi, dword [ebp - 0x28]
test edi, edi
jne 0x588dca
push 0xc
call fcn.0041e683
mov edi, eax
add esp, 4
mov dword [ebp - 0x28], edi
test edi, edi
je 0x588db9
xorps xmm0, xmm0
movq qword [edi], xmm0
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 1
mov dword [edi], 0
jmp 0x588dbb
xor edi, edi
mov byte [ebp - 4], 0x31
mov dword [ebp - 0x28], edi
test edi, edi
je 0x5893fa
push dword [edi]
lea ecx, [ebp - 0x20]
call fcn.00545870
push ecx
push 8
lea eax, [ebp - 0x34]
push eax
push 0x695424
lea ecx, [ebp - 0x20]
call fcn.00542c40
mov esi, dword [ebp - 0x24]
test al, al
je 0x588e6e
test esi, esi
jne 0x588e3f
push 0xc
call fcn.0041e683
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
test esi, esi
je 0x588e2e
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 1
mov dword [esi], 0
jmp 0x588e30
xor esi, esi
mov byte [ebp - 4], 0x31
mov dword [ebp - 0x24], esi
test esi, esi
je 0x5893fa
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x61d170
lea ecx, [ebp - 0x34]
call fcn.005454f0
push eax
push 0x6264dc
push dword [esi]
lea ecx, [ebp - 0x34]
call fcn.00545560
jmp 0x588ec4
test esi, esi
jne 0x588eba
push 0xc
call fcn.0041e683
mov esi, eax
add esp, 4
mov dword [ebp - 0x24], esi
test esi, esi
je 0x588ea9
xorps xmm0, xmm0
movq qword [esi], xmm0
mov dword [esi + 8], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 1
mov dword [esi], 0
jmp 0x588eab
xor esi, esi
mov byte [ebp - 4], 0x31
mov dword [ebp - 0x24], esi
test esi, esi
je 0x5893fa
push dword [esi]
lea ecx, [ebp - 0x34]
call fcn.00545870
push 0
push 0xf
lea ecx, [ebp - 0x34]
call fcn.005454f0
mov edx, dword [ebp - 0x91c]
mov ecx, ebx
push eax
call fcn.005281d0
inc dword [ebp - 0x91c]
lea ecx, [ebp - 0x20]
mov ebx, eax
call fcn.005454f0
push eax
mov edx, ebx
mov ebx, dword [ebp - 0x920]
push 1
mov ecx, ebx
call fcn.00527de0
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
dec eax
jne 0x588f40
mov eax, dword [esi]
test eax, eax
je 0x588f1e
push eax
call dword [0x5fd580]
mov dword [esi], 0
mov eax, dword [esi + 4]
test eax, eax
je 0x588f35
push eax
call fcn.0041e473
add esp, 4
mov dword [esi + 4], 0
push 0xc
push esi
call fcn.0041ea6e
add esp, 8
or eax, 0xffffffff
lock xadd dword [edi + 8], eax
dec eax
jne 0x588f80
mov eax, dword [edi]
test eax, eax
je 0x588f5e
push eax
call dword [0x5fd580]
mov dword [edi], 0
mov eax, dword [edi + 4]
test eax, eax
je 0x588f75
push eax
call fcn.0041e473
add esp, 4
mov dword [edi + 4], 0
push 0xc
push edi
call fcn.0041ea6e
add esp, 8
mov byte [ebp - 4], 0x37
mov eax, dword [ebp - 0x900]
test eax, eax
je 0x588f94
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x25
mov edi, dword [ebp - 0x908]
mov esi, dword [ebp - 0x924]
mov edx, dword [ebp - 0x38]
inc edi
mov ecx, dword [ebp - 0x40]
add edx, 5
mov dword [ebp - 0x908], edi
mov dword [ebp - 0x38], edx
cmp edi, ecx
jl 0x588c22
mov byte [ebp - 4], 0x38
jmp 0x589320
mov byte [ebp - 4], 0x26
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0x588fdc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x27
jmp 0x588b1b
mov dword [ebp - 0x900], 0
push 0x682e0c
mov byte [ebp - 4], 0x3a
call dword [0x5fd57c]
mov ecx, dword [ebp - 0x904]
mov edi, eax
lea eax, [ebp - 0x8f8]
push eax
push edi
mov edx, dword [ecx]
push ecx
call dword [edx + 0x4c]
push edi
mov esi, eax
call dword [0x5fd580]
test esi, esi
jns 0x589068
mov byte [ebp - 4], 0x3b
mov eax, dword [ebp - 0x900]
test eax, eax
je 0x589035
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3c
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0x589049
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3d
mov eax, dword [ebp - 0x904]
test eax, eax
je 0x58905d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x914]
jmp 0x589379
mov esi, dword [ebp - 0x918]
cmp dword [esi + 4], 0
jne 0x5890bb
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0x900]
test eax, eax
je 0x589088
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x3f
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0x58909c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x40
mov eax, dword [ebp - 0x904]
test eax, eax
je 0x5890b0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x914]
jmp 0x58937f
mov eax, dword [ebp - 0x8f8]
lea edx, [ebp - 0x8fc]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
mov eax, dword [ebp - 0x8fc]
cmp eax, 2
je 0x589125
cmp eax, 3
je 0x589125
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0x900]
test eax, eax
je 0x5890f2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x42
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0x589106
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x43
mov eax, dword [ebp - 0x904]
test eax, eax
je 0x5890b0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x914]
jmp 0x58937f
mov eax, dword [ebp - 0x8f8]
lea edx, [ebp - 0x900]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x24]
test eax, eax
jns 0x589187
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0x900]
test eax, eax
je 0x589150
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x45
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0x589164
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x46
mov eax, dword [ebp - 0x904]
test eax, eax
je 0x5890b0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x914]
jmp 0x58937f
mov eax, dword [ebp - 0x900]
lea edx, [ebp - 0x40]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x28]
push dword [ebp - 0x40]
lea ecx, [ebp - 0x34]
call fcn.00544660
mov ecx, dword [ebp - 0x40]
xor edi, edi
test ecx, ecx
jle 0x589308
mov eax, dword [ebp - 0x914]
add eax, 0x14c0
mov dword [ebp - 0x920], eax
xor eax, eax
mov dword [ebp - 0x38], eax
cdq
idiv ecx
mov ecx, dword [ebp - 0x920]
push 0
add eax, 0x5f
push eax
call fcn.00514200
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 0x47
lea edx, [ebp - 0x24]
mov eax, dword [ebp - 0x900]
push edx
push edi
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x58921a
mov byte [ebp - 4], 0x48
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x5892dc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x5892dc
mov eax, dword [ebp - 0x24]
lea edx, [ebp - 0x28]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
test eax, eax
jns 0x589231
mov byte [ebp - 4], 0x49
jmp 0x589204
push dword [ebp - 0x28]
lea ecx, [ebp - 0x34]
call fcn.00545870
push ecx
push 8
lea eax, [ebp - 0x20]
push eax
push 0x695424
lea ecx, [ebp - 0x34]
call fcn.00542c40
test al, al
jne 0x58927c
sub esp, 0xc
lea ecx, [ebp - 0x20]
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x695430
push edi
call fcn.00544660
mov ecx, eax
call fcn.005438d0
cmp dword [esi + 4], 0
je 0x5892f7
push 0
push 0xf
lea ecx, [ebp - 0x20]
call fcn.005454f0
mov esi, dword [ebp - 0x91c]
mov ecx, ebx
push eax
mov edx, esi
call fcn.005281d0
push dword [ebp - 0x28]
inc esi
mov edx, eax
push 1
mov ecx, ebx
mov dword [ebp - 0x91c], esi
call fcn.00527de0
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x5892c5
push eax
call dword [0x5fd580]
mov byte [ebp - 4], 0x4b
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x5892d6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x918]
mov byte [ebp - 4], 0x3a
inc edi
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x40]
add eax, 5
mov dword [ebp - 0x38], eax
cmp edi, ecx
jl 0x5891c5
jmp 0x589308
mov byte [ebp - 4], 0x4a
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x589308
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4c
mov eax, dword [ebp - 0x900]
test eax, eax
je 0x58931c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 0x4d
mov eax, dword [ebp - 0x8f8]
test eax, eax
je 0x589330
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov edi, dword [ebp - 0x914]
mov byte [ebp - 4], 0x23
cmp dword [ebp - 0x6c], 4
jne 0x589365
push ecx
push 1
push 0x635588
mov ecx, edi
call fcn.00460150
movsd xmm3, qword [edi + 8]
mov edx, 4
push 0xffffffffffffffff
mov ecx, 0x635588
call fcn.004ed3f0
mov byte [ebp - 4], 0x4e
mov eax, dword [ebp - 0x904]
test eax, eax
je 0x589379
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [ebp - 0x918]
mov byte [ebp - 4], 7
cmp dword [esi + 4], 0
je 0x58939f
push 0
push 0x64
lea ecx, [edi + 0x14c0]
call fcn.00514200
mov esi, 1
jmp 0x5893a1
xor esi, esi
lea ecx, [ebp - 0x44]
call fcn.0053fda0
lea ecx, [ebp - 0x144]
call fcn.00402b60
lea ecx, [ebp - 0xc4]
call fcn.004e7010
lea ecx, [ebp - 0xd0]
call fcn.00545790
lea ecx, [ebp - 0x34]
call fcn.00545790
lea ecx, [ebp - 0x20]
call fcn.00545790
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0041e465
mov esp, ebp
pop ebp
ret 4
push 0x8007000e
call fcn.0041e100
int3