Function at 0x100050b0
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10049bc1
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10056024]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
mov esi, ecx
xor ebp, ebp
push ebp
push ebp
xor ecx, ecx
xor eax, eax
lea ebx, [esp + 0x34]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
call fcn.10002ae0
mov ecx, dword [esp + 0x28]
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x1e
sub edx, eax
imul edx, edx, 0xf4240
add ecx, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xf4240
mov edx, ecx
sub edx, eax
mov eax, 0x97247453
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
add ecx, eax
mov dword [esp + 0x28], ecx
lea eax, [ebp + 1]
lea ecx, [esp + 0x28]
call fcn.10002f60
push 1
push 1
lea ebx, [esp + 0x30]
call fcn.10003010
mov edx, dword [esi]
mov eax, dword [edx + 0x50]
mov ecx, esi
mov dword [esp + 0x38], ebp
call eax
add eax, 0xffffffff
cmp eax, 4
ja case.default.0x100051a4
jmp dword [eax*4 + 0x10006240]
mov edx, dword [esi]
mov edx, dword [edx + 0x78]
lea eax, [esp + 0x8c]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, esi
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], ebp
call edx
lea ecx, [esp + 0x54]
push ecx
mov ecx, eax
call fcn.10006370
mov dword [esp + 0x118], ebp
mov edx, dword [esi]
mov eax, dword [edx + 0x68]
mov ecx, esi
call eax
sub eax, 1
je 0x10005714
sub eax, 1
jne 0x1000592c
mov eax, dword [esp + 0x58]
mov dword [esp + 0x74], eax
mov eax, dword [eax]
lea edi, [esp + 0x54]
mov esi, eax
mov dword [esp + 0x7c], edi
mov dword [esp + 0x80], esi
cmp edi, ebp
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
je 0x1000523b
lea ecx, [esp + 0x54]
cmp edi, ecx
je 0x1000523d
call ebx
cmp esi, dword [esp + 0x74]
je 0x1000592c
cmp edi, ebp
jne 0x1000524d
call ebx
cmp esi, dword [edi + 4]
jne 0x10005254
call ebx
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
lea edi, [esp + 0xec]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
call fcn.10003290
cmp eax, ebp
je 0x1000527d
lea ecx, [eax + 4]
jmp 0x1000527f
xor ecx, ecx
mov ecx, dword [ecx]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax]
mov dword [esp + 0x18], edx
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
mov edx, ecx
sub edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x3b
sub edx, eax
imul edx, edx, 0x64
add ecx, edx
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [esp + 0x94]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x98]
imul eax, eax, 0x64
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
lea eax, [esp + 0x9c]
mov dword [esp + 0x9c], ecx
push eax
lea ecx, [esp + 0xbc]
push ecx
mov dword [esp + 0xa8], edx
call dword [sym.imp.MSVCR80.dll__localtime64_s]
add esp, 8
lea edi, [esp + 0xb8]
lea eax, [esp + 0x30]
call fcn.100033a0
mov edi, dword [esp + 0x18]
mov eax, 0x68db8bad
imul edi
sar edx, 0xc
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
lea esi, [esp + 0x30]
call fcn.10002ef0
imul ebx, ebx, 0x2710
mov ecx, edi
sub ecx, ebx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
call fcn.10002f60
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
push 1
sub edi, eax
push edi
mov ebx, esi
call fcn.10003010
mov ecx, dword [esp + 0x34]
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
mov edx, ecx
sub edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x3b
sub edx, eax
imul edx, edx, 0x64
add ecx, edx
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [esp + 0x8c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x90]
mov ebp, eax
imul ebp, ebp, 0x64
lea eax, [esp + 0xa4]
mov dword [esp + 0xa4], ecx
push eax
lea ecx, [esp + 0xbc]
push ecx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0xb0], edx
call dword [sym.imp.MSVCR80.dll__localtime64_s]
add esp, 8
lea edi, [esp + 0xb8]
lea eax, [esp + 0x20]
call fcn.100033a0
mov edi, dword [esp + 0x18]
mov eax, 0x68db8bad
imul edi
sar edx, 0xc
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
lea esi, [esp + 0x20]
call fcn.10002ef0
imul ebx, ebx, 0x2710
mov ecx, edi
sub ecx, ebx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, esi
call fcn.10002f60
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
push 1
sub edi, eax
push edi
mov ebx, esi
call fcn.10003010
mov ecx, dword [esp + 0x24]
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
mov edx, ecx
sub edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x3b
sub edx, eax
imul edx, edx, 0x64
add ecx, edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, dword [esp + 0x84]
imul eax, eax, 0x64
mov ecx, dword [esp + 0x30]
imul edi, edi, 0x57e40
mov dword [esp + 0x24], eax
mov eax, 0x431bde83
imul ebp
sar edx, 0x12
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
lea edx, [esp + 0x30]
mov eax, esi
push edx
push eax
lea esi, [esp + 0xfc]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ecx
mov dword [esp + 0x70], edi
call fcn.10003430
add eax, 4
call fcn.10002b70
cdq
idiv edi
mov ecx, dword [esp + 0x24]
mov edi, eax
imul edi, dword [esp + 0x84]
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
add edi, ebx
imul edi, edi, 0xf4240
mov edx, ebx
imul edx, edx, 0xf4240
add edi, ecx
mov ecx, ebp
sub ecx, edx
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x431bde83
imul edi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xf4240
mov edx, edi
sub edx, eax
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
mov dword [esp + 0x6c], ecx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, dword [esp + 0x18]
imul ecx, ecx, 0x2710
add edi, ecx
cmp eax, dword [esp + 0x30]
jg 0x100055d0
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jne 0x10005652
cmp dword [esp + 0x1c], ebp
jle 0x10005650
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x1c]
push edx
lea esi, [esp + 0x54]
call fcn.10003430
lea eax, [esp + 0x50]
call fcn.10002b70
cdq
idiv dword [esp + 0x68]
mov ecx, ebp
push 0
mov dword [esp + 0x6c], eax
mov esi, edx
mov eax, 0x68db8bad
imul ebp
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
xor edx, edx
mov eax, dword [esp + 0x70]
test esi, esi
setne dl
add edx, dword [esp + 0x6c]
imul edx, dword [esp + 0x88]
add edx, ebx
push edx
lea ebx, [esp + 0x24]
call fcn.10002ae0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
cmp eax, ecx
jl 0x1000565e
cmp eax, ecx
jne 0x10005668
cmp dword [esp + 0x1c], ebp
jge 0x10005668
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x18], ecx
jmp 0x100056ae
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jg 0x10005678
jne 0x100056ae
cmp dword [esp + 0x1c], edi
jle 0x100056ae
lea esi, [esp + 0x3c]
lea eax, [esp + 0x18]
call fcn.10003400
mov ecx, dword [esp + 0x18]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
push 1
add ecx, 1
push ecx
lea ebx, [esp + 0x20]
call fcn.10003010
lea esi, [esp + 0x18]
call fcn.10003340
test al, al
je 0x100056e8
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
cmp ecx, eax
jl 0x100056d3
jne 0x100056e8
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x2c]
jge 0x100056e8
lea esi, [esp + 0x18]
lea eax, [esp + 0x28]
call fcn.10003400
mov dword [esp + 0x38], 1
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x7c]
cmp esi, dword [edx + 4]
jne 0x100056fe
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi]
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x80], eax
xor ebp, ebp
mov esi, eax
jmp 0x10005229
mov eax, dword [esp + 0x58]
mov ebp, dword [sym.imp.MSVCR80.dll__localtime64_s]
lea ecx, [esp + 0x54]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10005740
lea ecx, [esp + 0x54]
cmp eax, ecx
je 0x10005746
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x50]
cmp dword [esp + 0x24], edx
je 0x1000592c
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x10005762
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x24]
cmp eax, dword [esi + 4]
jne 0x10005771
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
lea edi, [esp + 0x104]
call fcn.10003290
test eax, eax
je 0x10005790
lea ecx, [eax + 4]
jmp 0x10005792
xor ecx, ecx
mov ecx, dword [ecx]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax]
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0xbc]
push ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ebx
call ebp
add esp, 8
lea edi, [esp + 0xb8]
lea eax, [esp + 0x30]
call fcn.100033a0
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov eax, 0x431bde83
imul edi
sar edx, 0x12
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul esi, esi, 0xf4240
sub edx, eax
imul edx, edx, 0xf4240
add ecx, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xf4240
mov edx, ecx
sub edx, eax
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub edi, esi
mov eax, 0x68db8bad
imul edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
imul eax, eax, 0x2710
add ecx, eax
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
mov edx, ecx
sub edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x3b
sub edx, eax
imul edx, edx, 0x64
add ecx, edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
lea esi, [esp + 0x18]
mov dword [esp + 0x1c], eax
call fcn.10003340
test al, al
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
je 0x100058c4
cmp ecx, esi
jl 0x100058fd
jne 0x100058c4
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x2c]
jl 0x100058fd
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
push 1
add ecx, 1
push ecx
lea ebx, [esp + 0x20]
call fcn.10003010
mov eax, dword [esp + 0x18]
cmp eax, esi
jl 0x100058fd
jne 0x10005912
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x1c], ecx
jge 0x10005912
lea esi, [esp + 0x18]
lea eax, [esp + 0x28]
call fcn.10003400
mov dword [esp + 0x38], 1
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
cmp esi, dword [edx + 4]
jne 0x10005925
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi]
jmp 0x1000572c
lea esi, [esp + 0x54]
call fcn.10006620
xor ebp, ebp
cmp dword [esp + 0x38], ebp
je case.default.0x100051a4
lea esi, [esp + 0x28]
call fcn.10003550
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x110]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi]
mov eax, dword [edx + 0x7c]
mov ecx, esi
call eax
lea ecx, [esp + 0x54]
push ecx
mov ecx, eax
call fcn.10006510
mov dword [esp + 0x118], 1
mov edx, dword [esi]
mov eax, dword [edx + 0x6c]
mov ecx, esi
call eax
sub eax, 1
jne 0x10005c24
mov eax, dword [esp + 0x58]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
lea esi, [esp + 0x54]
mov edi, eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
cmp esi, ebp
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
je 0x100059c9
lea ecx, [esp + 0x54]
cmp esi, ecx
je 0x100059cb
call ebx
cmp edi, dword [esp + 0x50]
je 0x10005c24
cmp esi, ebp
jne 0x100059db
call ebx
cmp edi, dword [esi + 4]
jne 0x100059e2
call ebx
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
lea edi, [esp + 0xdc]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xb0], eax
call fcn.10003290
test eax, eax
je 0x10005a15
lea ecx, [eax + 4]
jmp 0x10005a17
xor ecx, ecx
mov ecx, dword [ecx]
mov dword [esp + 0x1c], ecx
mov esi, dword [eax]
lea eax, [esp + 0x18]
mov dword [esp + 0x18], esi
call fcn.10002d60
test eax, eax
mov ecx, 7
je 0x10005a37
mov ecx, eax
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub esi, eax
sub esi, ecx
cmp ecx, ebx
push 1
jbe 0x10005a5c
lea ecx, [esi + ebx + 7]
push ecx
jmp 0x10005a5f
add esi, ebx
push esi
lea ebx, [esp + 0x20]
call fcn.10003010
mov ecx, dword [esp + 0xb0]
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0xbc]
push eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0x48], ecx
call dword [sym.imp.MSVCR80.dll__localtime64_s]
add esp, 8
lea edi, [esp + 0xb8]
lea eax, [esp + 0x30]
call fcn.100033a0
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov eax, 0x431bde83
imul edi
sar edx, 0x12
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul esi, esi, 0xf4240
sub edx, eax
imul edx, edx, 0xf4240
add ecx, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xf4240
mov edx, ecx
sub edx, eax
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub edi, esi
mov eax, 0x68db8bad
imul edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
imul eax, eax, 0x2710
add ecx, eax
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
mov edx, ecx
sub edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x3b
sub edx, eax
imul edx, edx, 0x64
add ecx, edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
lea edi, [esp + 0x70]
mov dword [esp + 0x1c], eax
call fcn.10003290
mov edx, dword [eax]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
mov esi, dword [esp + 0x1c]
jg 0x10005b92
jne 0x10005bb1
cmp esi, dword [eax + 4]
jle 0x10005bb1
mov eax, dword [esp + 0x28]
cmp ecx, eax
jl 0x10005ba2
jne 0x10005bb1
cmp esi, dword [esp + 0x2c]
jge 0x10005bb1
lea esi, [esp + 0x18]
lea eax, [esp + 0x28]
call fcn.10003400
jmp 0x10005bf6
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
push 1
add ecx, 7
push ecx
lea ebx, [esp + 0x20]
call fcn.10003010
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
mov edx, dword [esp + 0x1c]
jl 0x10005bee
jne 0x10005bf6
cmp edx, dword [esp + 0x2c]
jge 0x10005bf6
mov dword [esp + 0x2c], edx
mov dword [esp + 0x28], eax
mov esi, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp esi, dword [ecx + 4]
mov dword [esp + 0x38], 1
jne 0x10005c11
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esi]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x24], edx
mov edi, edx
xor ebp, ebp
jmp 0x100059b7
lea esi, [esp + 0x54]
call fcn.10006620
jmp 0x10005937
mov eax, dword [esi]
mov edx, dword [eax + 0x80]
mov ecx, esi
call edx
lea ecx, [esp + 0x70]
push ecx
mov ecx, eax
call fcn.10006510
mov dword [esp + 0x118], 2
mov edx, dword [esi]
mov eax, dword [edx + 0x70]
mov ecx, esi
call eax
sub eax, 1
je 0x10005ee3
sub eax, 1
jne 0x1000620f
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
lea esi, [esp + 0x70]
mov edi, eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
cmp esi, ebp
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
je 0x10005c9a
lea ecx, [esp + 0x70]
cmp esi, ecx
je 0x10005c9c
call ebx
cmp edi, dword [esp + 0x50]
je 0x1000620f
cmp esi, ebp
jne 0x10005cac
call ebx
cmp edi, dword [esi + 4]
jne 0x10005cb3
call ebx
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 8]
mov ebp, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
lea edi, [esp + 0xfc]
mov dword [esp + 0x60], edx
call fcn.10003290
test eax, eax
je 0x10005cdc
lea ecx, [eax + 4]
jmp 0x10005cde
xor ecx, ecx
mov ecx, dword [ecx]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax]
mov eax, dword [esp + 0x60]
lea ecx, [esp + 0x3c]
mov dword [esp + 0x18], edx
push ecx
lea edx, [esp + 0xbc]
push edx
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], eax
call dword [sym.imp.MSVCR80.dll__localtime64_s]
add esp, 8
lea edi, [esp + 0xb8]
lea eax, [esp + 0x30]
call fcn.100033a0
mov ecx, dword [esp + 0x18]
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
imul eax, eax, 0x2710
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
push ebx
mov eax, ebp
lea ecx, [esp + 0x24]
call fcn.10002e20
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov eax, 0x431bde83
imul edi
sar edx, 0x12
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul esi, esi, 0xf4240
sub edx, eax
imul edx, edx, 0xf4240
add ecx, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xf4240
mov edx, ecx
sub edx, eax
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x6c], eax
sub edi, esi
mov eax, 0x68db8bad
imul edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x6c]
sub eax, edx
imul eax, eax, 0x2710
add ecx, eax
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
mov edx, ecx
sub edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x3b
sub edx, eax
imul edx, edx, 0x64
add ecx, edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
lea esi, [esp + 0x18]
mov dword [esp + 0x1c], eax
call fcn.10003340
test al, al
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
je 0x10005e5a
cmp ecx, esi
jl 0x10005ea8
jne 0x10005e5a
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x2c]
jl 0x10005ea8
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
push eax
imul eax, eax, 0x2710
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 1]
push ecx
push ebx
mov eax, ebp
lea ecx, [esp + 0x24]
call fcn.10002e20
mov eax, dword [esp + 0x18]
cmp eax, esi
jl 0x10005ea8
jne 0x10005ebd
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x1c], edx
jge 0x10005ebd
lea esi, [esp + 0x18]
lea eax, [esp + 0x28]
call fcn.10003400
mov dword [esp + 0x38], 1
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
cmp esi, dword [eax + 4]
jne 0x10005ed0
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [esi]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x24], ecx
mov edi, ecx
xor ebp, ebp
jmp 0x10005c88
mov eax, dword [esp + 0x74]
mov dword [esp + 0x50], eax
mov eax, dword [eax]
lea esi, [esp + 0x70]
mov edi, eax
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], edi
cmp esi, ebp
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
je 0x10005f0d
lea edx, [esp + 0x70]
cmp esi, edx
je 0x10005f0f
call ebx
cmp edi, dword [esp + 0x50]
je 0x1000620f
cmp esi, ebp
jne 0x10005f1f
call ebx
cmp edi, dword [esi + 4]
jne 0x10005f26
call ebx
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0xc]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
lea edi, [esp + 0xe4]
mov dword [esp + 0x58], ecx
call fcn.10003290
test eax, eax
je 0x10005f4f
lea ecx, [eax + 4]
jmp 0x10005f51
xor ecx, ecx
mov edx, dword [ecx]
mov dword [esp + 0x1c], edx
mov eax, dword [eax]
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0xbc]
push edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], ebx
call dword [sym.imp.MSVCR80.dll__localtime64_s]
add esp, 8
lea edi, [esp + 0xb8]
lea eax, [esp + 0x30]
call fcn.100033a0
cmp ebp, 0x20
jae 0x10006002
mov bl, byte [0x100564c9]
jmp 0x10005fa0
mov esi, dword [esp + 0x18]
mov eax, 0x68db8bad
imul esi
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
imul eax, eax, 0x2710
sub esi, eax
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp esi, 2
jne 0x10005fe6
call fcn.10002d10
test al, al
jne 0x10005fe6
movzx eax, bl
sub eax, 1
jmp 0x10005fed
movzx eax, byte [esi + 0x100564c7]
movzx ecx, al
cmp ecx, ebp
jae 0x10006002
lea eax, [esi + 1]
lea ecx, [esp + 0x18]
call fcn.10002f60
jmp 0x10005fa0
push 0
push ebp
lea ebx, [esp + 0x20]
call fcn.10003010
mov edi, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
mov eax, 0x431bde83
imul edi
sar edx, 0x12
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, esi
imul esi, esi, 0xf4240
sub edx, eax
imul edx, edx, 0xf4240
add ecx, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xf4240
mov edx, ecx
sub edx, eax
mov eax, 0x68db8bad
imul edx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
sub edi, esi
mov eax, 0x68db8bad
imul edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, ebx
imul eax, eax, 0x2710
add ecx, eax
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
mov edx, ecx
sub edx, eax
mov eax, 0x51eb851f
imul edx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, 0x3b
sub edx, eax
imul edx, edx, 0x64
add ecx, edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
lea esi, [esp + 0x18]
mov dword [esp + 0x1c], eax
call fcn.10003340
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x28]
test al, al
je 0x10006112
cmp ecx, edi
jl 0x100061d4
jne 0x10006112
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x2c]
jl 0x100061d4
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x2710
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
lea eax, [edx + ecx + 1]
lea ecx, [esp + 0x18]
call fcn.10002f60
cmp ebp, 0x20
jae 0x100061b4
mov bl, byte [0x100564c9]
mov esi, dword [esp + 0x18]
mov eax, 0x68db8bad
imul esi
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
imul edx, edx, 0x2710
sub esi, edx
mov eax, 0x51eb851f
imul esi
sar edx, 5
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp esi, 2
jne 0x10006198
call fcn.10002d10
test al, al
jne 0x10006198
movzx eax, bl
sub eax, 1
jmp 0x1000619f
movzx eax, byte [esi + 0x100564c7]
movzx eax, al
cmp eax, ebp
jae 0x100061b4
lea eax, [esi + 1]
lea ecx, [esp + 0x18]
call fcn.10002f60
jmp 0x10006152
push 0
push ebp
lea ebx, [esp + 0x20]
call fcn.10003010
mov eax, dword [esp + 0x18]
cmp eax, edi
jl 0x100061d4
jne 0x100061e9
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x2c]
jge 0x100061e9
lea esi, [esp + 0x18]
lea eax, [esp + 0x28]
call fcn.10003400
mov dword [esp + 0x38], 1
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
cmp esi, dword [edx + 4]
jne 0x100061fc
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x24], eax
mov edi, eax
xor ebp, ebp
jmp 0x10005efb
lea esi, [esp + 0x70]
call fcn.10006620
jmp 0x10005937
mov edx, dword [esi]
mov eax, dword [edx + 0x74]
mov ecx, esi
call eax
mov dword [esp + 0x48], ebp
jmp 0x1000594a
mov edx, dword [esi]
mov eax, dword [edx + 0x88]
mov ecx, esi
call eax
jmp 0x10005946