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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10117fb1
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
push ebx
push ebp
push esi
push edi
mov eax, dword [0x1013b024]
xor eax, esp
push eax
lea eax, [esp + 0x110]
mov dword fs:[0], eax
mov ebp, ecx
xor esi, esi
push esi
push esi
xor ecx, ecx
xor eax, eax
lea ebx, [esp + 0x2c]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x2c], esi
call fcn.100072b0
mov ecx, dword [esp + 0x20]
mov eax, 0xbce4217d
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xf4240
add ecx, eax
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 + 0x20], ecx
lea eax, [esi + 1]
lea ecx, [esp + 0x20]
call fcn.100077e0
push 1
push 1
lea edi, [esp + 0x28]
call fcn.10007890
mov edx, dword [ebp]
mov eax, dword [edx + 0x70]
mov ecx, ebp
mov dword [esp + 0x38], esi
call eax
add eax, 0xffffffff
cmp eax, 4
ja case.default.0x10008e6e
jmp dword [eax*4 + 0x1000a004]
mov edx, dword [ebp]
mov edx, dword [edx + 0x9c]
lea eax, [esp + 0x6c]
xor esi, esi
push eax
lea ecx, [esp + 0x80]
push ecx
mov ecx, ebp
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], esi
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], esi
call edx
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.1000b3d0
mov dword [esp + 0x118], esi
mov edx, dword [ebp]
mov eax, dword [edx + 0x8c]
mov ecx, ebp
call eax
sub eax, 1
je 0x1000939d
sub eax, 1
jne 0x100095c0
mov eax, dword [esp + 0x54]
mov dword [esp + 0xa0], eax
mov eax, dword [eax]
lea edi, [esp + 0x50]
mov esi, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], esi
test edi, edi
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
je 0x10008f06
lea ecx, [esp + 0x50]
cmp edi, ecx
je 0x10008f08
call ebx
cmp esi, dword [esp + 0xa0]
je 0x100095c0
test edi, edi
jne 0x10008f1b
call ebx
cmp esi, dword [edi + 4]
jne 0x10008f22
call ebx
mov edx, dword [esi + 8]
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0xec]
push ecx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], eax
call fcn.10007b40
add esp, 4
test eax, eax
je 0x10008f49
lea ecx, [eax + 4]
jmp 0x10008f4b
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 + 0x7c]
mov ebp, dword [sym.imp.MSVCR80.dll__localtime64_s]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x80]
imul eax, eax, 0x64
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
lea eax, [esp + 0x8c]
mov dword [esp + 0x8c], ecx
push eax
lea ecx, [esp + 0xb4]
push ecx
mov dword [esp + 0x98], edx
call ebp
add esp, 8
lea edx, [esp + 0xb0]
push edx
lea eax, [esp + 0x2c]
call fcn.10007cc0
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 + 0x28]
call fcn.10007770
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.100077e0
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 edi, esi
call fcn.10007890
mov ecx, dword [esp + 0x2c]
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 + 0x6c]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x70]
imul eax, eax, 0x64
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x48]
mov dword [esp + 0x48], ecx
push eax
lea ecx, [esp + 0xb4]
push ecx
mov dword [esp + 0x54], edx
call ebp
add esp, 8
lea edx, [esp + 0xb0]
push edx
lea eax, [esp + 0x44]
call fcn.10007cc0
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 + 0x40]
call fcn.10007770
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.100077e0
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub edi, eax
push 1
push edi
mov edi, esi
call fcn.10007890
mov ecx, dword [esp + 0x44]
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 edi, dword [esp + 0x74]
sar edx, 5
imul edi, edi, 0x57e40
mov ecx, dword [esp + 0x40]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, 0x431bde83
imul ebp, ebp, 0x64
imul dword [esp + 0x2c]
sar edx, 0x12
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edx, esi
push edx
lea eax, [esp + 0x2c]
lea esi, [esp + 0xf8]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x88], ecx
mov dword [esp + 0x40], edi
call fcn.10007d60
add eax, 4
call fcn.10007340
cdq
idiv edi
mov ecx, dword [esp + 0x2c]
mov edi, eax
imul edi, dword [esp + 0x74]
mov eax, 0x431bde83
imul ebp
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov edx, ebx
imul edx, edx, 0xf4240
sub ecx, edx
add edi, ebx
mov eax, 0x68db8bad
imul edi, edi, 0xf4240
imul ecx
sar edx, 0xc
add edi, ebp
mov ebp, edx
shr ebp, 0x1f
add ebp, edx
mov eax, 0x431bde83
imul edi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xf4240
mov ecx, edi
sub ecx, eax
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, dword [esp + 0x18]
mov edx, ebp
sub edx, ecx
imul edx, edx, 0x2710
add edi, edx
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x88], edi
jg 0x10009283
mov edx, dword [esp + 0x28]
cmp eax, edx
mov ecx, dword [esp + 0x1c]
jne 0x100092d8
cmp ecx, dword [esp + 0x2c]
jle 0x100092d6
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x2c]
lea esi, [esp + 0x60]
call fcn.10007d60
lea eax, [esp + 0x60]
call fcn.10007340
cdq
idiv dword [esp + 0x3c]
xor ecx, ecx
push 0
test edx, edx
setne cl
mov esi, eax
mov eax, ebp
lea edx, [ecx + esi - 1]
imul edx, dword [esp + 0x78]
add edx, ebx
push edx
mov ecx, 0x3b
lea ebx, [esp + 0x24]
call fcn.100072b0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
cmp eax, edx
jl 0x100092e6
jne 0x10009321
mov edx, dword [esp + 0x2c]
cmp ecx, edx
jl 0x100092e6
jne 0x10009321
lea esi, [esp + 0x84]
lea eax, [esp + 0x18]
call fcn.10007d30
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
sub ecx, 1
push ecx
lea edi, [esp + 0x20]
call fcn.10007890
jmp 0x1000933f
mov edx, dword [esp + 0x40]
cmp eax, edx
jg 0x1000932f
jne 0x1000933f
cmp ecx, edi
jle 0x1000933f
lea esi, [esp + 0x84]
lea eax, [esp + 0x18]
call fcn.10007d30
lea esi, [esp + 0x18]
call fcn.10007c20
test al, al
je 0x10009379
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
cmp ecx, eax
jg 0x10009364
jne 0x10009379
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x24]
jle 0x10009379
lea esi, [esp + 0x18]
lea eax, [esp + 0x20]
call fcn.10007d30
mov dword [esp + 0x38], 1
mov esi, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
cmp esi, dword [edx + 4]
jne 0x1000938c
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x34], eax
mov esi, eax
jmp 0x10008ef4
mov eax, dword [esp + 0x54]
mov ebx, dword [sym.imp.MSVCR80.dll__localtime64_s]
lea ecx, [esp + 0x50]
mov dword [esp + 0x60], eax
mov eax, dword [eax]
mov edi, ecx
mov dword [esp + 0x8c], edi
mov ebp, eax
lea esp, [esp]
cmp edi, esi
je 0x100093cc
lea ecx, [esp + 0x50]
cmp edi, ecx
je 0x100093d2
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp ebp, dword [esp + 0x60]
je 0x100095c0
cmp edi, esi
jne 0x100093e6
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp ebp, dword [edi + 4]
jne 0x100093f1
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
lea edx, [esp + 0x104]
push edx
call fcn.10007b40
add esp, 4
test eax, eax
je 0x10009410
lea ecx, [eax + 4]
jmp 0x10009412
xor ecx, ecx
mov ecx, dword [ecx]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax]
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0xb4]
push ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
call ebx
add esp, 8
lea edx, [esp + 0xb0]
push edx
lea eax, [esp + 0x2c]
call fcn.10007cc0
mov edi, dword [esp + 0x2c]
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 + 0x3c], 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 + 0x3c]
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.10007c20
test al, al
mov ecx, dword [esp + 0x18]
je 0x1000954b
mov eax, dword [esp + 0x20]
cmp ecx, eax
jg 0x10009588
jne 0x1000954b
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x1c], edx
jg 0x10009588
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
sub ecx, 1
push ecx
lea edi, [esp + 0x20]
call fcn.10007890
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jg 0x10009588
jne 0x1000959d
mov ecx, dword [esp + 0x24]
cmp dword [esp + 0x1c], ecx
jle 0x1000959d
lea esi, [esp + 0x18]
lea eax, [esp + 0x20]
call fcn.10007d30
mov dword [esp + 0x38], 1
mov edx, dword [esp + 0x8c]
cmp ebp, dword [edx + 4]
jne 0x100095af
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ebp, dword [ebp]
mov edi, dword [esp + 0x8c]
xor esi, esi
jmp 0x100093c0
lea esi, [esp + 0x50]
call fcn.1000ba50
cmp dword [esp + 0x38], 0
je case.default.0x10008e6e
lea eax, [esp + 0x20]
call fcn.10007e40
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
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 eax, dword [ebp]
mov edx, dword [eax + 0xa0]
mov ecx, ebp
call edx
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.1000b4d0
mov dword [esp + 0x118], 1
mov edx, dword [ebp]
mov eax, dword [edx + 0x90]
mov ecx, ebp
call eax
sub eax, 1
jne 0x100098a4
mov eax, dword [esp + 0x54]
mov dword [esp + 0x60], eax
mov eax, dword [eax]
lea edi, [esp + 0x50]
mov esi, eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], esi
test edi, edi
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
je 0x10009664
lea ecx, [esp + 0x50]
cmp edi, ecx
je 0x10009666
call ebx
cmp esi, dword [esp + 0x60]
je 0x100098a4
test edi, edi
jne 0x10009676
call ebx
cmp esi, dword [edi + 4]
jne 0x1000967d
call ebx
mov edx, dword [esi + 0xc]
mov ebp, dword [esi + 8]
mov edi, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
lea eax, [esp + 0xfc]
push eax
mov dword [esp + 0x94], edx
call fcn.10007b40
add esp, 4
test eax, eax
je 0x100096a9
lea ecx, [eax + 4]
jmp 0x100096ab
xor ecx, ecx
mov ecx, dword [ecx]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax]
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0xb4]
push ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], esi
call dword [sym.imp.MSVCR80.dll__localtime64_s]
add esp, 8
lea edx, [esp + 0xb0]
push edx
lea eax, [esp + 0x2c]
call fcn.10007cc0
lea eax, [esp + 0x18]
call fcn.100075e0
test eax, eax
mov ebx, 7
je 0x100096fa
mov ebx, eax
mov edi, dword [esp + 0x2c]
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 + 0x3c], 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 + 0x3c]
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
cmp ebx, ebp
mov dword [esp + 0x1c], eax
jne 0x10009802
lea esi, [esp + 0x18]
call fcn.10007c20
test al, al
je 0x10009802
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
cmp ecx, esi
jg 0x1000983a
jne 0x10009806
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x1c], edx
jg 0x1000983a
jmp 0x10009806
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
sub ecx, ebx
cmp ebx, ebp
push 1
lea edi, [esp + 0x1c]
jbe 0x1000982c
add ecx, ebp
jmp 0x10009830
lea ecx, [ecx + ebp - 7]
push ecx
call fcn.10007890
mov esi, dword [esp + 0x20]
lea edx, [esp + 0x9c]
push edx
call fcn.10007b40
mov ecx, dword [eax]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x20]
add esp, 4
cmp edx, ecx
jl 0x1000985f
jne 0x10009880
cmp edi, dword [eax + 4]
jge 0x10009880
cmp edx, esi
jg 0x1000986b
jne 0x10009880
cmp edi, dword [esp + 0x24]
jle 0x10009880
lea esi, [esp + 0x18]
lea eax, [esp + 0x20]
call fcn.10007d30
mov dword [esp + 0x38], 1
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
cmp esi, dword [eax + 4]
jne 0x10009893
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [esi]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
mov esi, ecx
jmp 0x10009652
lea esi, [esp + 0x50]
call fcn.1000ba50
jmp 0x100095c9
mov edx, dword [ebp]
mov eax, dword [edx + 0xa4]
mov ecx, ebp
call eax
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.1000b4d0
mov dword [esp + 0x118], 2
mov edx, dword [ebp]
mov eax, dword [edx + 0x94]
mov ecx, ebp
call eax
sub eax, 1
je 0x10009b7c
sub eax, 1
jne 0x10009eb9
mov eax, dword [esp + 0x54]
mov dword [esp + 0x60], eax
mov eax, dword [eax]
lea esi, [esp + 0x50]
mov edi, eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], edi
test esi, esi
mov ebx, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
je 0x1000991f
lea ecx, [esp + 0x50]
cmp esi, ecx
je 0x10009921
call ebx
cmp edi, dword [esp + 0x60]
je 0x10009eb9
test esi, esi
jne 0x10009931
call ebx
cmp edi, dword [esi + 4]
jne 0x10009938
call ebx
mov ebx, dword [edi + 0xc]
mov ebp, dword [edi + 8]
mov esi, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
lea edx, [eax*8]
sub edx, eax
lea eax, [esp + 0xd4]
neg edx
push eax
add ebx, edx
call fcn.10007b40
add esp, 4
test eax, eax
je 0x1000997c
lea ecx, [eax + 4]
jmp 0x1000997e
xor ecx, ecx
mov ecx, dword [ecx]
mov dword [esp + 0x1c], ecx
mov edx, dword [eax]
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0xb4]
push ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
call dword [sym.imp.MSVCR80.dll__localtime64_s]
add esp, 8
lea edx, [esp + 0xb0]
push edx
lea eax, [esp + 0x2c]
call fcn.10007cc0
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 ebp
push ebx
lea eax, [esp + 0x28]
call fcn.100076a0
mov edi, dword [esp + 0x2c]
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 + 0x3c], 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 + 0x3c]
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.10007c20
test al, al
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
je 0x10009af6
cmp ecx, esi
jg 0x10009b43
jne 0x10009af6
mov edx, dword [esp + 0x1c]
cmp edx, dword [esp + 0x24]
jg 0x10009b43
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 ebp
push ebx
lea eax, [esp + 0x28]
call fcn.100076a0
mov eax, dword [esp + 0x18]
cmp eax, esi
jg 0x10009b43
jne 0x10009b58
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x1c], edx
jle 0x10009b58
lea esi, [esp + 0x18]
lea eax, [esp + 0x20]
call fcn.10007d30
mov dword [esp + 0x38], 1
mov esi, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
cmp esi, dword [eax + 4]
jne 0x10009b6b
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [esi]
mov esi, dword [esp + 0x30]
mov dword [esp + 0x34], ecx
mov edi, ecx
jmp 0x1000990d
mov eax, dword [esp + 0x54]
lea ecx, [esp + 0x50]
mov dword [esp + 0x60], eax
mov eax, dword [eax]
mov esi, ecx
mov dword [esp + 0x40], esi
mov ebx, eax
test esi, esi
mov edi, dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov dword [esp + 0x44], ebx
je 0x10009ba8
lea edx, [esp + 0x50]
cmp esi, edx
je 0x10009baa
call edi
cmp ebx, dword [esp + 0x60]
je 0x10009eb9
test esi, esi
jne 0x10009bba
call edi
cmp ebx, dword [esi + 4]
jne 0x10009bc1
call edi
mov eax, dword [ebx + 0xc]
mov ebp, dword [ebx + 8]
mov esi, dword [ebx + 0x10]
mov edi, dword [ebx + 0x14]
lea ecx, [esp + 0xdc]
push ecx
mov dword [esp + 0xa4], eax
call fcn.10007b40
add esp, 4
test eax, eax
je 0x10009bed
lea ecx, [eax + 4]
jmp 0x10009bef
xor ecx, ecx
mov edx, dword [ecx]
mov dword [esp + 0x1c], edx
mov eax, dword [eax]
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0xb4]
push edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
call dword [sym.imp.MSVCR80.dll__localtime64_s]
add esp, 8
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x2c]
call fcn.10007cc0
cmp ebp, 0x20
jae 0x10009c96
nop
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 0x10009c7a
call fcn.10007540
test al, al
jne 0x10009c7a
movzx eax, byte [0x1013c481]
sub eax, 1
jmp 0x10009c81
movzx eax, byte [esi + 0x1013c47f]
movzx eax, al
cmp eax, ebp
jae 0x10009c96
lea eax, [esi - 1]
lea ecx, [esp + 0x18]
call fcn.100077e0
jmp 0x10009c30
push 0
push ebp
lea edi, [esp + 0x20]
call fcn.10007890
mov edi, dword [esp + 0x2c]
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 + 0x3c], 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 + 0x3c]
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.10007c20
mov ecx, dword [esp + 0x18]
test al, al
je 0x10009dbe
mov eax, dword [esp + 0x20]
cmp ecx, eax
jg 0x10009da4
jne 0x10009dbe
mov edx, dword [esp + 0x24]
cmp dword [esp + 0x1c], edx
jle 0x10009dbe
lea esi, [esp + 0x18]
lea eax, [esp + 0x20]
call fcn.10007d30
mov dword [esp + 0x38], 1
jmp 0x10009e9f
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.100077e0
cmp ebp, 0x20
jae 0x10009e62
mov bl, byte [0x1013c481]
mov edi, edi
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 0x10009e46
call fcn.10007540
test al, al
jne 0x10009e46
movzx eax, bl
sub eax, 1
jmp 0x10009e4d
movzx eax, byte [esi + 0x1013c47f]
movzx eax, al
cmp eax, ebp
jae 0x10009e62
lea eax, [esi - 1]
lea ecx, [esp + 0x18]
call fcn.100077e0
jmp 0x10009e00
push 0
push ebp
lea edi, [esp + 0x20]
call fcn.10007890
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
cmp eax, ecx
jg 0x10009e86
jne 0x10009e9b
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x24]
jle 0x10009e9b
lea esi, [esp + 0x18]
lea eax, [esp + 0x20]
call fcn.10007d30
mov dword [esp + 0x38], 1
mov ebx, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
cmp ebx, dword [edx + 4]
jne 0x10009eae
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ebx, dword [ebx]
mov esi, dword [esp + 0x40]
jmp 0x10009b92
lea esi, [esp + 0x50]
call fcn.1000ba50
jmp 0x100095c9
mov eax, dword [ebp]
mov edx, dword [eax + 0x98]
mov ecx, ebp
call edx
jmp case.default.0x10008e6e
mov eax, dword [ebp]
mov edx, dword [eax + 0xb0]
mov ecx, ebp
call edx
push edx
push eax
lea esi, [esp + 0x30]
call fcn.10007ea0
mov ecx, dword [esp + 0x2c]
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
lea ecx, [esp + 0xe4]
mov edi, eax
push ecx
imul edi, edi, 0x64
call fcn.10007b40
mov esi, eax
add esp, 4
lea eax, [esp + 0x18]
call fcn.10007d30
mov ecx, dword [esp + 0x1c]
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 + 0x18]
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x28]
imul eax, eax, 0x64
cmp ecx, edx
mov dword [esp + 0x1c], eax
jg 0x10009fc4
jne 0x10009fd6
cmp eax, edi
jle 0x10009fd6
mov edx, dword [ebp]
mov eax, dword [edx + 0xb0]
mov ecx, ebp
call eax
jmp 0x100095d9
lea esi, [esp + 0x9c]
lea edi, [esp + 0x20]
call fcn.10007c60
lea ecx, [esp + 0x5c]
push ecx
mov edx, esi
push edx
call dword [sym.imp.OLEAUT32.dll_VariantTimeToSystemTime]
fld qword [esp + 0x5c]
call fcn.1010ee16
jmp 0x100095d9