Function at 0x10021280
Capabilities:
Enumerate pe sections
Get number of processors
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10049a7c
mov eax, dword fs:[0]
push eax
sub esp, 0x748
mov eax, dword [0x10056024]
xor eax, esp
mov dword [esp + 0x740], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10056024]
xor eax, esp
push eax
lea eax, [esp + 0x75c]
mov dword fs:[0], eax
mov eax, dword [esp + 0x76c]
mov ebp, dword [esp + 0x774]
xor esi, esi
lea edi, [esp + 0x14]
mov dword [esp + 0xb8], eax
mov dword [esp + 0x90], esi
call fcn.10003290
mov dword [esp + 0x60], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x68], esi
push 0x30
lea ecx, [esp + 0x30]
push esi
push ecx
mov dword [esp + 0x770], esi
call sub.MSVCR80.dll_memset
mov ecx, dword [esp + 0x20]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
mov edx, ecx
sub edx, eax
mov word [esp + 0x40], dx
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, esi
imul eax, eax, 0x2710
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
mov ecx, dword [esp + 0x24]
sar edx, 5
mov edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [esp + 0x48], ax
imul eax, eax, 0xf4240
sub ecx, eax
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp]
mov eax, dword [edx + 0x50]
mov word [esp + 0x4a], cx
add esp, 0xc
mov ecx, ebp
mov word [esp + 0x32], di
mov word [esp + 0x30], si
mov word [esp + 0x2c], 0x30
call eax
add eax, 0xffffffff
cmp eax, 4
mov ebx, 1
ja case.default.0x100213b6
jmp dword [eax*4 + 0x10022200]
mov edx, dword [ebp]
mov eax, dword [edx + 0x78]
push 0
push 0
mov ecx, ebp
call eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, eax
call fcn.10006370
mov byte [esp + 0x764], 1
cmp dword [esp + 0x24], 0
jne 0x100213fc
lea esi, [esp + 0x1c]
mov byte [esp + 0x764], 0
call fcn.10006620
jmp case.default.0x100213b6
mov edx, dword [ebp]
mov eax, dword [edx + 0x68]
mov ecx, ebp
call eax
sub eax, ebx
je 0x100215fd
sub eax, ebx
jne 0x100213e6
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
cmp esi, eax
jne 0x10021422
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 8]
mov edx, dword [ebp]
mov edx, dword [edx + 0x78]
xor eax, eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x80], ecx
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x98]
push ecx
mov ecx, ebp
call edx
mov eax, dword [esp + 0x94]
or eax, dword [esp + 0x98]
jne 0x100214d7
mov ecx, dword [esp + 0xbc]
or ecx, dword [esp + 0xc0]
jne 0x100214d7
lea esi, [esp + 0x18]
call fcn.10002a50
xor ecx, ecx
call fcn.10002a80
xor ecx, ecx
call fcn.10002ab0
lea esi, [esp + 0x14]
lea eax, [esp + 0xa8]
call fcn.10003400
mov ecx, 0x17
lea esi, [esp + 0x18]
call fcn.10002a50
mov ecx, 0x3b
call fcn.10002a80
mov ecx, 0x3b
call fcn.10002ab0
lea esi, [esp + 0x14]
lea eax, [esp + 0x6c]
call fcn.10003400
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xbc]
push edx
push eax
lea esi, [esp + 0x74]
call fcn.100035f0
mov esi, eax
lea eax, [esp + 0x6c]
call fcn.10003400
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x94]
push ecx
push edx
lea esi, [esp + 0xb0]
call fcn.100035f0
mov esi, eax
lea eax, [esp + 0xa8]
call fcn.10003400
lea eax, [esp + 0xa8]
push eax
lea ecx, [esp + 0x70]
push ecx
lea esi, [esp + 0xd4]
call fcn.10003430
mov esi, eax
lea eax, [esp + 0x14]
call fcn.10003400
mov ecx, dword [esp + 0xac]
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [esp + 0x3c], ax
imul eax, eax, 0xf4240
sub ecx, eax
mov esi, dword [esp + 0x18]
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [esp + 0x3e], ax
mov eax, 0x431bde83
imul esi
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, ecx
imul edx, edx, 0xf4240
sub esi, edx
mov eax, 0x68db8bad
imul esi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
shl edx, 4
sub edx, ecx
mov ecx, edi
shl ecx, 4
sub ecx, edi
lea eax, [eax + edx*4]
add ecx, ecx
mov dword [esp + 0x40], eax
add ecx, ecx
lea eax, [esp + 0x2c]
lea esi, [esp + 0x5c]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x4c], ebx
mov word [esp + 0x50], bx
call fcn.10027ae0
lea esi, [esp + 0x1c]
mov byte [esp + 0x764], 0
call fcn.10006620
jmp case.default.0x100213b6
mov eax, dword [esp + 0x20]
mov edi, eax
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
test ecx, ecx
je 0x1002161d
lea edx, [esp + 0x1c]
cmp ecx, edx
je 0x10021623
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp dword [esp + 0x70], edi
je 0x100213e6
lea esi, [esp + 0x6c]
call fcn.100065a0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
push eax
push ecx
lea esi, [esp + 0x1c]
call fcn.100035f0
mov esi, eax
lea eax, [esp + 0x14]
call fcn.10003400
mov ecx, dword [esp + 0x18]
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [esp + 0x3c], ax
imul eax, eax, 0xf4240
sub ecx, eax
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [esp + 0x3e], ax
lea eax, [esp + 0x2c]
lea esi, [esp + 0x5c]
mov dword [esp + 0x4c], ebx
mov word [esp + 0x50], bx
call fcn.10027ae0
lea esi, [esp + 0x6c]
call fcn.100065d0
mov ecx, dword [esp + 0x6c]
jmp 0x10021611
mov edx, dword [ebp]
mov eax, dword [edx + 0x7c]
mov ecx, ebp
call eax
lea ecx, [esp + 0x7c]
push ecx
mov ecx, eax
call fcn.10006510
mov byte [esp + 0x764], 2
cmp dword [esp + 0x84], 0
jne 0x100216ef
lea esi, [esp + 0x7c]
mov byte [esp + 0x764], 0
call fcn.10006620
jmp case.default.0x100213b6
mov eax, dword [esp + 0x80]
mov esi, dword [eax]
cmp esi, eax
jne 0x10021702
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 8]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x10]
mov esi, dword [esi + 0x14]
push esi
push eax
lea esi, [esp + 0x1c]
mov dword [esp + 0x24], edx
call fcn.100035f0
mov esi, eax
lea eax, [esp + 0x14]
call fcn.10003400
mov ecx, dword [esp + 0x18]
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [esp + 0x3c], ax
imul eax, eax, 0xf4240
sub ecx, eax
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [ebp]
mov eax, dword [edx + 0x6c]
mov word [esp + 0x3e], cx
mov ecx, ebp
mov dword [esp + 0x4c], 2
mov word [esp + 0x50], bx
call eax
sub eax, ebx
jne 0x1002182a
mov eax, dword [esp + 0x80]
mov dword [esp + 0x98], eax
mov eax, dword [eax]
lea edi, [esp + 0x7c]
mov esi, eax
lea esp, [esp]
test edi, edi
je 0x100217ac
lea ecx, [esp + 0x7c]
cmp edi, ecx
je 0x100217b2
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [esp + 0x98]
je 0x1002181d
test edi, edi
jne 0x100217c5
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
cmp esi, dword [edi + 4]
jne 0x100217d0
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esi + 0xc]
mov eax, dword [esi + 0x10]
mov ecx, dword [esi + 8]
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x14]
mov dword [esp + 0x28], edx
mov eax, 0x24924925
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
lea edx, [eax*8]
sub edx, eax
sub ecx, edx
mov eax, ebx
shl eax, cl
or word [esp + 0x52], ax
cmp esi, dword [edi + 4]
jne 0x10021819
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov esi, dword [esi]
jmp 0x100217a0
lea eax, [esp + 0x2c]
lea esi, [esp + 0x5c]
call fcn.10027ae0
lea esi, [esp + 0x7c]
call fcn.10006460
mov byte [esp + 0x764], 0
call fcn.10006620
jmp case.default.0x100213b6
mov edx, dword [ebp]
mov eax, dword [edx + 0x80]
mov ecx, ebp
call eax
lea ecx, [esp + 0x1c]
push ecx
mov ecx, eax
call fcn.10006510
mov byte [esp + 0x764], 3
cmp dword [esp + 0x24], 0
jne 0x10021883
lea esi, [esp + 0x1c]
mov byte [esp + 0x764], 0
call fcn.10006620
jmp case.default.0x100213b6
mov eax, dword [esp + 0x20]
mov esi, dword [eax]
cmp esi, eax
jne 0x10021893
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov edx, dword [esi + 8]
mov eax, dword [esi + 0x10]
mov ebx, dword [esi + 0xc]
mov esi, dword [esi + 0x14]
push esi
push eax
lea esi, [esp + 0x1c]
mov dword [esp + 0x84], edx
call fcn.100035f0
mov esi, eax
lea eax, [esp + 0x14]
call fcn.10003400
mov ecx, dword [esp + 0x18]
mov eax, 0x431bde83
imul ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [esp + 0x3c], ax
imul eax, eax, 0xf4240
sub ecx, eax
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [ebp]
mov word [esp + 0x3e], ax
mov eax, dword [edx + 0x70]
mov ecx, ebp
call eax
sub eax, 1
je 0x10021975
sub eax, 1
jne 0x1002186d
mov eax, 0x24924925
mul ebx
mov eax, ebx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 2
lea ecx, [eax*8]
sub ecx, eax
mov edx, ecx
mov ecx, ebx
sub ecx, edx
mov eax, 1
shl eax, cl
mov cx, word [esp + 0x7c]
lea esi, [esp + 0x5c]
mov word [esp + 0x54], 0xfff
mov word [esp + 0x52], ax
lea eax, [esp + 0x2c]
mov dword [esp + 0x4c], 4
mov word [esp + 0x50], cx
call fcn.10027ae0
lea esi, [esp + 0x1c]
mov byte [esp + 0x764], 0
call fcn.10006620
jmp case.default.0x100213b6
mov eax, dword [esp + 0x20]
mov dword [esp + 0x98], eax
mov eax, dword [eax]
lea ecx, [esp + 0x1c]
mov word [esp + 0x54], 0xfff
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
test ecx, ecx
je 0x100219a1
lea edx, [esp + 0x1c]
cmp ecx, edx
je 0x100219a7
call dword [sym.imp.MSVCR80.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x98]
cmp dword [esp + 0x70], eax
je 0x1002186d
lea esi, [esp + 0x6c]
call fcn.100065a0
mov ebx, dword [eax]
cmp ebx, 0x1f
mov ecx, dword [eax + 4]
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
jbe 0x10021a42
movzx edi, di
xor ebx, ebx
jmp 0x100219f0
cmp edi, 2
mov dword [esp + 0x4c], ebx
mov word [esp + 0x32], di
jne 0x10021a18
movzx ecx, word [esp + 0x30]
call fcn.10002d10
test al, al
jne 0x10021a18
movzx eax, byte [0x100564c9]
sub eax, 1
jmp 0x10021a1f
movzx eax, byte [edi + 0x100564c7]
movzx cx, al
lea eax, [esp + 0x2c]
lea esi, [esp + 0x5c]
mov word [esp + 0x34], cx
call fcn.10027ae0
add edi, 1
cmp edi, 0xd
jl 0x100219f0
jmp 0x10021ae4
movzx ecx, word [esp + 0x30]
movzx esi, di
call fcn.10002ce0
movzx ecx, al
cmp ecx, ebx
jb 0x10021a8b
lea ecx, [ebx - 1]
mov edx, 1
shl edx, cl
lea eax, [esp + 0x2c]
lea esi, [esp + 0x5c]
mov dword [esp + 0x4c], 3
mov dword [esp + 0x50], edx
call fcn.10027ae0
lea esi, [esp + 0x6c]
call fcn.100065d0
mov ecx, dword [esp + 0x6c]
jmp 0x10021995
mov edi, esi
lea ecx, [ecx]
cmp edi, 2
mov dword [esp + 0x4c], 0
mov word [esp + 0x32], di
jne 0x10021abc
movzx ecx, word [esp + 0x30]
call fcn.10002d10
test al, al
jne 0x10021abc
movzx eax, byte [0x100564c9]
sub eax, 1
jmp 0x10021ac3
movzx eax, byte [edi + 0x100564c7]
movzx eax, al
cmp eax, ebx
jb 0x10021adc
lea eax, [esp + 0x2c]
lea esi, [esp + 0x5c]
mov word [esp + 0x34], bx
call fcn.10027ae0
add edi, 1
cmp edi, 0xd
jl 0x10021a90
mov ecx, dword [esp + 0x14]
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 edi, edx
shr edi, 0x1f
add edi, edx
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
sub ecx, eax
lea esi, [esp + 0x6c]
mov word [esp + 0x34], cx
mov word [esp + 0x32], di
call fcn.100065d0
mov ecx, dword [esp + 0x6c]
jmp 0x10021995
mov edx, dword [ebp]
mov eax, dword [edx + 0x74]
mov ecx, ebp
call eax
sub eax, ebx
je 0x10021b6a
sub eax, 2
jne case.default.0x100213b6
mov dword [esp + 0x4c], 6
jmp 0x10021c35
mov dword [esp + 0x4c], 7
jmp 0x10021c35
mov edx, dword [ebp]
mov eax, dword [edx + 0x88]
mov ecx, ebp
call eax
push edx
push eax
lea esi, [esp + 0x1c]
call fcn.100035f0
test eax, eax
je 0x10021b98
lea ecx, [eax + 4]
jmp 0x10021b9a
xor ecx, ecx
mov edi, dword [ecx]
mov dword [esp + 0x18], edi
mov ecx, dword [eax]
mov eax, 0x51eb851f
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x64
mov edx, ecx
sub edx, eax
mov word [esp + 0x34], dx
mov eax, 0x68db8bad
imul ecx
sar edx, 0xc
mov esi, edx
shr esi, 0x1f
add esi, edx
mov eax, esi
imul eax, eax, 0x2710
mov dword [esp + 0x14], ecx
sub ecx, eax
mov eax, 0x51eb851f
imul ecx
sar edx, 5
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
mov word [esp + 0x3c], ax
imul eax, eax, 0xf4240
sub edi, eax
mov eax, 0x68db8bad
imul edi
sar edx, 0xc
mov eax, edx
shr eax, 0x1f
add eax, edx
mov word [esp + 0x32], cx
mov word [esp + 0x30], si
mov word [esp + 0x3e], ax
mov dword [esp + 0x4c], 0
lea eax, [esp + 0x2c]
lea esi, [esp + 0x5c]
call fcn.10027ae0
mov eax, dword [esp + 0x60]
test eax, eax
je 0x10021c63
mov ecx, dword [esp + 0x64]
sub ecx, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
jne 0x10021c9a
mov edx, dword [ebp]
mov eax, dword [edx + 0x50]
mov ecx, ebp
call eax
cmp eax, 4
je 0x10021c9a
mov edx, dword [ebp]
mov eax, dword [edx + 0x74]
mov ecx, ebp
call eax
cmp eax, 4
je 0x10021c9a
call fcn.100017a0
test eax, eax
jne 0x10021c9a
lea esi, [esp + 0x5c]
call fcn.10008d10
xor eax, eax
jmp 0x100221d3
xor edi, edi
push 0x206
lea ecx, [esp + 0x552]
push edi
push ecx
mov word [esp + 0x558], di
call sub.MSVCR80.dll_memset
mov ecx, dword [esp + 0xc4]
mov edx, dword [ecx]
mov edx, dword [edx + 0x14c]
add esp, 0xc
push ebp
lea eax, [esp + 0x550]
push eax
mov eax, dword [esp + 0x778]
push eax
call edx
push 0x206
lea eax, [esp + 0x34a]
push edi
push eax
mov word [esp + 0x350], di
call sub.MSVCR80.dll_memset
mov edx, dword [ebp]
mov edx, dword [edx + 0x54]
add esp, 0xc
lea eax, [esp + 0x1c]
push eax
mov ecx, ebp
call edx
mov esi, eax
mov eax, dword [ebp]
mov edx, dword [eax + 0x54]
lea ecx, [esp + 0xcc]
push ecx
mov ecx, ebp
call edx
movzx eax, byte [eax + 0xf]
mov edx, dword [ebp]
mov edx, dword [edx + 0x54]
push eax
lea eax, [esp + 0x80]
push eax
mov ecx, ebp
call edx
movzx eax, byte [eax + 0xe]
mov edx, dword [ebp]
mov edx, dword [edx + 0x54]
push eax
lea eax, [esp + 0x9c]
push eax
mov ecx, ebp
call edx
movzx eax, byte [eax + 0xd]
mov edx, dword [ebp]
mov edx, dword [edx + 0x54]
push eax
lea eax, [esp + 0xc8]
push eax
mov ecx, ebp
call edx
movzx eax, byte [eax + 0xc]
mov edx, dword [ebp]
mov edx, dword [edx + 0x54]
push eax
lea eax, [esp + 0x7c]
push eax
mov ecx, ebp
call edx
movzx eax, byte [eax + 0xb]
mov edx, dword [ebp]
mov edx, dword [edx + 0x54]
push eax
lea eax, [esp + 0xbc]
push eax
mov ecx, ebp
call edx
movzx eax, byte [eax + 0xa]
mov edx, dword [ebp]
push eax
lea eax, [esp + 0xf4]
mov edx, dword [edx + 0x54]
push eax
mov ecx, ebp
call edx
movzx eax, byte [eax + 9]
mov edx, dword [ebp]
mov edx, dword [edx + 0x54]
push eax
lea eax, [esp + 0x108]
push eax
mov ecx, ebp
call edx
movzx eax, byte [eax + 8]
mov edx, dword [ebp]
mov edx, dword [edx + 0x54]
push eax
lea eax, [esp + 0x11c]
push eax
mov ecx, ebp
call edx
movzx eax, word [eax + 6]
mov edx, dword [ebp]
mov edx, dword [edx + 0x54]
push eax
lea eax, [esp + 0x130]
push eax
mov ecx, ebp
call edx
movzx eax, word [eax + 4]
mov ecx, dword [esi]
push eax
push ecx
lea edx, [esp + 0x370]
push 0x1004b2f0
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ebx, dword [sym.imp.MSVCR80.dll_wcscat_s]
add esp, 0x34
push 0x1004cfb4
lea eax, [esp + 0x348]
push 0x104
push eax
call ebx
mov edx, dword [ebp]
xor eax, eax
add esp, 0xc
push 8
lea ecx, [esp + 0x120]
mov dword [esp + 0x122], eax
mov dword [esp + 0x126], eax
mov dword [esp + 0x12a], eax
mov dword [esp + 0x12e], eax
mov dword [esp + 0x132], eax
mov dword [esp + 0x136], eax
mov dword [esp + 0x13a], eax
mov word [esp + 0x13e], ax
mov eax, dword [edx + 0x58]
push ecx
mov ecx, ebp
mov word [esp + 0x124], di
call eax
push eax
call dword [sym.imp.MSVCR80.dll__itow]
add esp, 0xc
lea ecx, [esp + 0x11c]
push ecx
lea edx, [esp + 0x348]
push 0x104
push edx
call ebx
add esp, 0xc
push 0x206
lea eax, [esp + 0x142]
push edi
push eax
mov word [esp + 0x148], di
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x104
lea ecx, [esp + 0x140]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [esp + 0x13c]
lea edx, [eax + 2]
jmp 0x10021ee0
mov cx, word [eax]
add eax, 2
cmp cx, di
jne 0x10021ee0
sub eax, edx
sar eax, 1
cmp eax, edi
jle 0x10021f11
mov ecx, 0x5c
jmp 0x10021f00
cmp word [esp + eax*2 + 0x13c], cx
je 0x10021f14
sub eax, 1
cmp eax, edi
jg 0x10021f00
or eax, 0xffffffff
mov edx, 0x104
sub edx, eax
add edx, edx
push edx
lea ecx, [esp + eax*2 + 0x140]
push edi
push ecx
mov word [ecx], di
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x1004b060
lea eax, [esp + 0x140]
push 0x104
push eax
call ebx
add esp, 0xc
test byte [0x100570dc], 1
jne 0x10021f70
or dword [0x100570dc], 1
push 0x10049d80
mov dword [0x100570d8], 0x1004efd8
call fcn.10046077
add esp, 4
call sub.Comn.dll_GetObjectLog
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push str.Create_Windows_Schedule_Task_Begin.
push eax
call edx
mov eax, dword [ebp]
mov edx, dword [eax + 0x50]
add esp, 8
mov ecx, ebp
call edx
cmp eax, 4
jne 0x10022143
mov eax, dword [ebp]
mov edx, dword [eax + 0x74]
mov ecx, ebp
call edx
cmp eax, 4
jne 0x10022143
call fcn.100017a0
test eax, eax
jne 0x10022143
push 0x850
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
cmp eax, edi
je 0x10021fd4
mov esi, eax
call fcn.100375d0
mov edi, eax
jmp 0x10021fd6
xor edi, edi
push 0x108
call sub.MSVCR80.dll_void____cdecl_operator_new_unsigned_int_
add esp, 4
test eax, eax
je 0x10021ff2
mov esi, eax
call fcn.10036640
mov esi, eax
jmp 0x10021ff4
xor esi, esi
mov eax, dword [edi]
mov edx, dword [eax + 0x18]
mov ecx, edi
call edx
test eax, eax
je 0x1002212d
push str.ABSchedhlp.exe
lea eax, [esp + 0x140]
push 0x104
push eax
call ebx
mov edx, dword [edi]
mov eax, dword [edx + 0xc]
add esp, 0xc
mov ecx, edi
call eax
test eax, eax
je 0x1002205d
mov ebx, dword [sym.imp.MSVCR80.dll_wcsstr]
nop
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 4]
call eax
test eax, eax
je 0x10022050
push str.ABSchedhlp.exe
push eax
call ebx
add esp, 8
test eax, eax
jne 0x1002212d
mov edx, dword [edi]
mov eax, dword [edx + 0x10]
mov ecx, edi
call eax
test eax, eax
jne 0x10022030
push 0x208
lea ecx, [esp + 0x348]
push 0
push ecx
call sub.MSVCR80.dll_memset
mov edx, dword [edi]
mov edx, dword [edx + 4]
add esp, 0xc
lea eax, [esp + 0x344]
push eax
lea ecx, [esp + 0x140]
push ecx
mov ecx, edi
call edx
test eax, eax
jne 0x100220e7
mov eax, dword [esi]
mov edx, dword [eax + 8]
mov ecx, esi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 0x20]
mov ecx, edi
call edx
call sub.Comn.dll_GetObjectLog
mov edi, eax
mov esi, dword [edi]
push 0x148f
mov ecx, str.D:BR_srcUiLogicUiRecord.cpp
add esi, 0xc
call fcn.1000d400
add esp, 4
push eax
mov eax, dword [esi]
push str._s:_Add_shutdown_schedule_failed.
push edi
call eax
mov eax, dword [esp + 0x6c]
add esp, 0xc
test eax, eax
je 0x100220e0
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
xor eax, eax
jmp 0x100221d3
mov edx, dword [edi]
mov eax, dword [edx + 0x14]
mov ecx, edi
call eax
test eax, eax
jne 0x10022123
call sub.Comn.dll_GetObjectLog
mov ebp, eax
mov ebx, dword [ebp]
push 0x1495
mov ecx, str.D:BR_srcUiLogicUiRecord.cpp
add ebx, 0xc
call fcn.1000d400
mov ecx, dword [ebx]
add esp, 4
push eax
push str._s:_Shutdown_script_save_failed.
push ebp
call ecx
add esp, 0xc
jmp 0x1002212d
mov edx, dword [esi]
mov eax, dword [edx]
push 0
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 8]
mov ecx, esi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 0x20]
mov ecx, edi
call eax
xor edi, edi
jmp 0x100221a6
push str.ABCore.exe
lea ecx, [esp + 0x140]
push 0x104
push ecx
call ebx
mov eax, dword [ebp]
mov esi, dword [0x100570d8]
add esp, 0xc
lea edx, [esp + 0x344]
push edx
mov edx, dword [eax + 0x94]
mov ecx, ebp
add esi, 0x10
call edx
push eax
lea eax, [esp + 0x64]
push eax
mov eax, dword [esi]
lea ecx, [esp + 0x148]
push ecx
lea edx, [esp + 0x55c]
push edx
mov ecx, 0x100570d8
call eax
test eax, eax
jne 0x100221a6
mov dword [esp + 0x90], 1
call sub.Comn.dll_GetObjectLog
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push str.Create_Windows_Schedule_Task_End.
push eax
call edx
mov eax, dword [esp + 0x68]
add esp, 8
cmp eax, edi
je 0x100221cc
push eax
call sub.MSVCR80.dll_void___cdecl_operator_delete_void__
add esp, 4
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x75c]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x740]
xor ecx, esp
call fcn.10045f6c
add esp, 0x754
ret 0xc