Function at 0x100cd421
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x11233ab0
push 0x10425410
mov eax, dword fs:[0]
push eax
sub esp, 0x128
mov eax, dword [0x11ad127c]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x1c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x124], eax
mov edi, dword [ebp + 8]
mov dword [ebp - 0x10c], edi
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x134], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x138], eax
cmp byte [ecx + 0x99], 0
je case.0x100cd36a.11
mov dword [ecx + 4], edi
mov edx, dword [edi + 0x2c78]
mov dword [ebp - 0x114], edx
mov eax, dword [edi + 0x2cac]
add eax, 0x4000
mov dword [ecx + 0x94], eax
mov eax, dword [edi + 0xf98]
mov ecx, dword [eax*4 + 0x10f30c48]
mov eax, ecx
shr eax, 8
movzx esi, al
movzx eax, cl
imul esi, dword [ebp + 0xc]
add esi, eax
mov dword [ebp - 0x100], esi
mov eax, dword [edi + 0xfa0]
mov dword [ebp - 0x11c], eax
mov eax, dword [edi + 0xfb0]
mov dword [ebp - 0x118], eax
mov dword [ebp - 0xe8], 0
xor eax, eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf0], 0x7fffffff
mov byte [ebp - 0xdd], al
mov eax, dword [edi + 0xfac]
mov dword [ebp - 0x108], eax
mov eax, dword [edi + 0x14b8]
dec eax
mov dword [ebp - 0x120], eax
lea esi, [edx + 0x14]
mov dword [ebp - 0x110], esi
mov eax, dword [edx + 0x10]
test byte [eax + 0x30], 1
je 0x100cce08
mov eax, dword [esi]
cmp dword [eax + 0x404], 0
je 0x100cce08
mov al, 1
jmp 0x100cce10
xor al, al
mov dword [ebp - 0x110], esi
test al, al
je 0x100cce43
push edi
mov ecx, dword [esi]
call fcn.100b03c0
mov ecx, eax
mov dword [ebp - 0x128], eax
mov eax, dword [esi]
mov eax, dword [eax + 0xc00]
test eax, eax
jne 0x100cce38
mov edx, dword [ebp - 0x114]
jmp 0x100cce56
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x114]
jmp 0x100cce56
mov byte [ebp - 0xdd], 1
lea ecx, [edx + 0x18]
mov dword [ebp - 0x128], ecx
mov eax, dword [edx + 0x20]
mov dword [ebp - 0x12c], eax
test ecx, ecx
je case.0x100cd36a.11
test eax, eax
je case.0x100cd36a.11
and dword [ebp + 0x18], 0xffffffef
xor eax, eax
mov dword [ebp - 0xe4], eax
xor esi, esi
mov dword [ebp - 0xf4], esi
xor ecx, ecx
mov dword [ebp - 0xec], ecx
nop dword [eax + eax]
mov eax, dword [edx + 0x44]
mov edx, dword [eax + ecx + 0x10]
cmp byte [ebp - 0xdd], 0
je 0x100ccea4
test esi, esi
je 0x100ccedc
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
mov esi, dword [eax + 0xc00]
test esi, esi
je 0x100cd053
mov eax, 1
mov ecx, dword [ebp - 0xf4]
shl eax, cl
mov ecx, dword [ebp - 0xec]
test dword [esi + 0xc], eax
mov esi, dword [ebp - 0xf4]
je 0x100cd059
cmp edx, 0xffffffff
je 0x100cd059
mov ecx, edx
add ecx, ecx
mov esi, dword [edi + ecx*8 + 0x2968]
lea eax, [edx + 0x297]
add eax, eax
mov eax, dword [edi + eax*8]
mov dword [ebp - 0xf8], eax
cmp dword [edi + ecx*8 + 0x2974], 0
jl 0x100cd2c4
cmp dword [edi + ecx*8 + 0x296c], 0
jne 0x100cd2c4
test esi, esi
je 0x100cd2c4
movzx eax, word [esi + 0x2c]
test al, 0x21
jne 0x100cd2c4
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x30]
call eax
cmp eax, 8
je 0x100cd2c4
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 0x44]
mov ecx, dword [ebp - 0xec]
mov eax, dword [eax + ecx + 0x18]
cmp eax, 0xf
je 0x100cd2c4
cmp eax, 0x10
je 0x100cd2c4
lea eax, [esi + 0x5c]
mov dword [ebp - 0x130], eax
mov eax, dword [eax]
test eax, eax
je 0x100ccf8e
test byte [eax + 0x98], 1
je 0x100ccf8e
mov ecx, dword [ebp - 0xf8]
cmp ecx, dword [eax + 0x94]
je 0x100ccfba
mov eax, dword [ebp - 0x128]
mov al, byte [eax + 0x10]
and al, 1
movzx eax, al
push eax
push ecx
push dword [ebp - 0xf8]
push edi
mov ecx, esi
call fcn.1006eca0
test al, al
je case.0x100cd36a.11
mov ecx, dword [ebp - 0xf8]
mov eax, dword [esi + 0x58]
xor edx, edx
div ecx
mov edx, eax
mov dword [ebp - 0xf8], edx
lea eax, [edx + 3]
and eax, 0xfffffffc
mov dword [ebp - 0x104], eax
mov ecx, edx
cmp edx, dword [ebp - 0xf0]
cmovae ecx, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], ecx
mov ecx, dword [ebp - 0xe4]
test ecx, ecx
cmovne esi, ecx
mov dword [ebp - 0xe4], esi
mov esi, dword [ebp - 0xf4]
mov dword [ebp + esi*4 - 0x9c], eax
mov eax, dword [ebp - 0xe8]
mov dword [ebp + eax*4 - 0x5c], esi
inc eax
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x130]
mov ecx, dword [ecx]
test ecx, ecx
je 0x100cd02a
mov ecx, dword [ecx + 0x78]
jmp 0x100cd02c
xor ecx, ecx
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 0x44]
mov edx, dword [ebp - 0xec]
mov eax, dword [eax + edx + 0x14]
imul eax, dword [ebp - 0x104]
add eax, ecx
mov dword [ebp + esi*4 - 0xdc], eax
mov ecx, edx
jmp 0x100cd059
mov esi, dword [ebp - 0xf4]
inc esi
mov dword [ebp - 0xf4], esi
add ecx, 0x18
mov dword [ebp - 0xec], ecx
cmp ecx, 0x180
jae 0x100cd07c
mov edx, dword [ebp - 0x114]
jmp 0x100cce90
cmp dword [ebp - 0xe4], 0
je 0x100cd2c4
mov eax, dword [ebp - 0xf8]
test eax, eax
mov ecx, dword [ebp - 0xf0]
cmove ecx, eax
mov dword [ebp - 0xf0], ecx
mov ecx, dword [edi + 0xfc4]
test ecx, ecx
je 0x100cd0d8
push 1
push 0
call fcn.10073090
test eax, eax
js case.0x100cd36a.11
mov ecx, dword [edi + 0xfc4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
mov ecx, eax
add ecx, dword [edi + 0xfb8]
mov dword [ebp - 0x108], ecx
jmp 0x100cd0de
mov ecx, dword [ebp - 0x108]
cmp dword [ebp - 0x118], 2
jne 0x100cd0f6
movzx ecx, word [ecx]
mov edx, ecx
mov eax, ecx
mov ecx, dword [ebp - 0x108]
jmp 0x100cd0fb
mov edx, dword [ecx]
movzx eax, dx
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x100]
jne 0x100cd110
movzx ecx, word [ecx + eax*2 - 2]
jmp 0x100cd114
mov ecx, dword [ecx + eax*4 - 4]
mov esi, dword [ebp - 0x11c]
add esi, dword [edi + 0xfbc]
mov eax, dword [edi + 0xfc0]
lea edi, [eax + esi]
mov dword [ebp - 0xf4], edi
test eax, eax
mov edi, dword [ebp - 0x10c]
je 0x100cd169
cmp eax, dword [ebp - 0xf0]
ja 0x100cd169
mov eax, dword [ebp - 0xf0]
cmp dword [edi + 0xfbc], eax
jae 0x100cd169
cmp edx, esi
jne 0x100cd169
mov eax, dword [ebp - 0xf4]
cmp edx, eax
ja 0x100cd169
cmp ecx, esi
jb 0x100cd169
cmp ecx, eax
jbe 0x100cd1f6
mov edx, 1
cmp dword [ebp - 0x118], 2
jne 0x100cd1ac
mov eax, dword [ebp - 0xe4]
movzx eax, ax
mov esi, eax
cmp dword [ebp - 0x100], edx
jbe 0x100cd1e3
mov edi, dword [ebp - 0x108]
movzx ecx, word [edi + edx*2]
cmp ecx, esi
jae 0x100cd19c
mov esi, ecx
jmp 0x100cd1a1
cmp ecx, eax
cmova eax, ecx
inc edx
cmp edx, dword [ebp - 0x100]
jb 0x100cd190
jmp 0x100cd1dd
mov eax, dword [ebp - 0x108]
mov eax, dword [eax]
mov esi, eax
cmp dword [ebp - 0x100], edx
jbe 0x100cd1e3
mov edi, dword [ebp - 0x108]
mov ecx, dword [edi + edx*4]
cmp ecx, esi
jae 0x100cd1cf
mov esi, ecx
jmp 0x100cd1d4
cmp ecx, eax
cmova eax, ecx
inc edx
cmp edx, dword [ebp - 0x100]
jb 0x100cd1c4
mov edi, dword [ebp - 0x10c]
inc eax
add eax, dword [ebp - 0x11c]
mov dword [ebp - 0xf4], eax
add esi, dword [ebp - 0x11c]
and esi, 0xfffffffc
mov dword [ebp - 0xf8], esi
mov ecx, dword [edi + 0xfc4]
mov dword [ebp - 0x104], ecx
test ecx, ecx
je 0x100cd296
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
shr eax, 3
test al, 1
jne 0x100cd296
mov eax, dword fs:[0x2c]
mov ecx, dword [0x11d0c5b8]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xe4], eax
cmp byte [eax + 8], 0
jne 0x100cd24a
call fcn.10450c0b
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x10]
add eax, 0x7a80
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x104]
lea ecx, [ecx + 0x30]
call fcn.1004dd80
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 8], 0
jne 0x100cd284
call fcn.10450c0b
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 0x10]
add eax, 0x7a80
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0xf4]
mov edx, eax
sub edx, esi
mov dword [ebp - 0x104], edx
cmp eax, dword [ebp - 0xf0]
ja 0x100cd2c4
mov eax, dword [ebp - 0x100]
add eax, eax
mov ecx, 0xc8
cmp eax, ecx
cmova ecx, eax
cmp edx, ecx
jbe 0x100cd301
mov eax, dword [ebp + 0xc]
cmp byte [ebp - 0xdd], 0
je 0x100cd2f9
sub dword [edi + 0x5f30], eax
mov eax, 4
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x1c]
xor ecx, ebp
call fcn.1045066c
mov esp, ebp
pop ebp
ret 0x14
sub dword [edi + 0x5f2c], eax
jmp case.0x100cd36a.11
xor eax, eax
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xe8], eax
jbe 0x100cd440
mov ecx, dword [ebp + eax*4 - 0x5c]
lea eax, [ecx*4]
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp + eax - 0xdc]
mov eax, ecx
shl eax, 4
add eax, dword [ebp - 0xfc]
mov dword [ebp - 0xf0], eax
mov dword [eax + 0x9c], edx
lea ecx, [ecx + ecx*2]
mov eax, dword [ebp - 0x114]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*8 + 0x18]
cmp eax, 0x10
mov edi, dword [ebp - 0x10c]
ja case.0x100cd36a.11
movzx eax, byte [eax + 0x100cd98c]
jmp dword [eax*4 + 0x100cd978]
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp + eax - 0x9c]
shl ecx, 2
add edx, ecx
mov esi, dword [ebp - 0xec]
mov eax, dword [ebp + esi*4 - 0x5c]
add eax, 0xa
add eax, eax
mov esi, dword [ebp - 0xfc]
mov dword [esi + eax*8], edx
add edx, ecx
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0xa4], edx
add edx, ecx
mov dword [eax + 0xa8], edx
mov esi, dword [ebp - 0xf8]
jmp case.0x100cd36a.0
mov eax, dword [ebp - 0xe4]
mov ecx, dword [ebp + eax - 0x9c]
shl ecx, 2
add edx, ecx
mov esi, dword [ebp - 0xec]
mov eax, dword [ebp + esi*4 - 0x5c]
add eax, 0xa
add eax, eax
mov esi, dword [ebp - 0xfc]
mov dword [esi + eax*8], edx
add edx, ecx
mov eax, dword [ebp - 0xf0]
mov dword [eax + 0xa4], edx
mov esi, dword [ebp - 0xf8]
jmp case.0x100cd36a.0
mov eax, dword [ebp - 0xe4]
mov eax, dword [ebp + eax - 0x9c]
lea ecx, [edx + eax*4]
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp + edx*4 - 0x5c]
add eax, 0xa
add eax, eax
mov edx, dword [ebp - 0xfc]
mov dword [edx + eax*8], ecx
mov eax, dword [ebp - 0xec]
inc eax
mov dword [ebp - 0xec], eax
cmp eax, dword [ebp - 0xe8]
jb 0x100cd315
mov edx, dword [ebp - 0x104]
lea eax, [edx + 8]
shl eax, 4
mov dword [ebp - 0xe4], eax
cmp dword [edi + 0x3278], eax
jae 0x100cd48e
mov ecx, dword [edi + 0x3274]
test ecx, ecx
je 0x100cd46d
push ecx
call fcn.10434a18
add esp, 4
mov eax, dword [ebp - 0xe4]
push 0x10
push eax
call fcn.10434a32
add esp, 8
mov dword [edi + 0x3274], eax
test eax, eax
je 0x100cd501
mov eax, dword [ebp - 0xe4]
mov dword [edi + 0x3278], eax
mov eax, dword [edi + 0x3274]
mov dword [ebp - 0xe4], eax
mov ecx, dword [edi + 0x3280]
cmp dword [edi + 0xf98], 0x14
jne 0x100cd533
mov eax, dword [ebp + 0xc]
lea eax, [eax + eax*2]
imul eax, dword [ebp - 0x118]
mov dword [ebp - 0xe8], eax
cmp ecx, eax
jae 0x100cd584
mov ecx, dword [edi + 0x327c]
test ecx, ecx
je 0x100cd4e1
push ecx
call fcn.10434a18
add esp, 4
mov eax, dword [ebp - 0xe8]
push 0x10
push eax
call fcn.10434a32
add esp, 8
mov dword [edi + 0x327c], eax
test eax, eax
je 0x100cd51a
mov eax, dword [ebp - 0xe8]
jmp 0x100cd57e
mov dword [edi + 0x3278], 0
mov dword [edi + 0x3274], 0
jmp case.0x100cd36a.11
mov dword [edi + 0x3280], 0
mov dword [edi + 0x327c], 0
jmp case.0x100cd36a.11
mov eax, dword [ebp - 0x118]
imul eax, dword [ebp - 0x100]
mov dword [ebp - 0xe8], eax
cmp ecx, eax
jae 0x100cd584
mov ecx, dword [edi + 0x327c]
test ecx, ecx
je 0x100cd563
push ecx
call fcn.10434a18
add esp, 4
mov eax, dword [ebp - 0xe8]
push 0x10
push eax
call fcn.10434a32
add esp, 8
mov dword [edi + 0x327c], eax
test eax, eax
je 0x100cd51a
mov eax, dword [ebp - 0xe8]
mov dword [edi + 0x3280], eax
mov eax, dword [edi + 0x327c]
mov dword [ebp - 0x10c], eax
test byte [ebp - 0x124], 0x10
je 0x100cd5ff
mov eax, dword [ebp - 0x128]
mov ecx, dword [eax + 0x18]
mov eax, dword [ebp - 0x110]
mov eax, dword [eax]
cmp dword [eax + 0x404], 0
jne 0x100cd5e6
lea esi, [edi + 0x2db0]
lea eax, [edi + 0x3400]
push eax
push esi
call dword [0x11d0c75c]
push 4
mov eax, dword [edi + 0x2cac]
add eax, 0x4000
push eax
push esi
call fcn.1028bcf0
add esp, 0x14
mov esi, dword [ebp - 0xf8]
jmp 0x100cd5ff
test ecx, ecx
je 0x100cd5ff
push ecx
push dword [eax + 0xc14]
push dword [eax + 0xc10]
call fcn.1028bcf0
add esp, 0xc
mov dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xfc]
cmp dword [ebp + 0x18], 5
jne 0x100cd649
mov ecx, 0x1028b270
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0xe8], 4
mov eax, dword [ebp + 0xc]
shr eax, 2
cmp byte [ebp - 0xdd], 0
je 0x100cd641
sub dword [edi + 0x5f30], eax
jmp 0x100cd66c
sub dword [edi + 0x5f2c], eax
jmp 0x100cd66c
mov ecx, 0x1028b180
mov dword [ebp - 0x110], ecx
movaps xmm0, xmmword [0x1122e4b0]
movups xmmword [edx + 0x5a0], xmm0
xorps xmm0, xmm0
movups xmmword [edx + 0x5e0], xmm0
mov eax, esi
sub eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], eax
nop word [eax + eax]
cmp esi, dword [ebp - 0xf4]
jae 0x100cd6e3
lea eax, [edx + 0x1a0]
mov dword [eax], esi
mov dword [ebp - 4], 0
push dword [ebp - 0xe4]
push ecx
push eax
lea eax, [edx + 0x9c]
push eax
call dword [ebp - 0x12c]
add esp, 0x10
mov dword [ebp - 4], 0xfffffffe
add dword [ebp - 0xe4], 0x40
add esi, 4
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xfc]
jmp 0x100cd680
mov ecx, dword [ebp + 0x18]
cmp ecx, 5
je 0x100cd73c
mov eax, dword [edx + 0x5ac]
and eax, dword [edx + 0x5a8]
and eax, dword [edx + 0x5a4]
test dword [edx + 0x5a0], eax
jne 0x100cd941
cmp ecx, 5
je 0x100cd73c
mov eax, dword [edx + 0x5ec]
or eax, dword [edx + 0x5e8]
or eax, dword [edx + 0x5e4]
or eax, dword [edx + 0x5e0]
jne 0x100cd73c
test byte [ebp - 0x120], 3
je case.0x100cd36a.11
or dword [ebp - 0xe8], 4
mov eax, dword [edi + 0x3274]
mov dword [ebp - 0x130], eax
xor ecx, ecx
cmp dword [edi + 0xf98], 0x1a
setne cl
xor eax, eax
mov edx, 2
cmp dword [ebp - 0x118], 4
cmove eax, edx
or ecx, eax
or ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0x120]
lea eax, [ecx + eax*8]
mov dword [ebp - 0x104], eax
mov esi, dword [edi + 0xfc4]
test esi, esi
je 0x100cd884
mov dword [ebp - 0x120], 0
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x30]
call eax
shr eax, 3
test al, 1
jne 0x100cd858
mov eax, dword [esi]
mov ecx, esi
mov eax, dword [eax + 0x2c]
call eax
cmp dword [eax + 0xb2], 1
jne 0x100cd7e4
mov edx, dword [eax + 8]
lea ecx, [edx + 8]
neg edx
sbb edx, edx
and edx, ecx
test byte [edx + 0xb1], 8
je 0x100cd7e4
test byte [esi + 0x1c], 1
jne 0x100cd7e4
mov ecx, eax
call fcn.10071230
test eax, eax
js 0x100cd7e4
and byte [esi + 0x1c], 0xef
lea eax, [esi + 0x30]
mov dword [ebp - 0x124], eax
mov eax, dword fs:[0x2c]
mov ecx, dword [0x11d0c5b8]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 8], 0
jne 0x100cd80a
call fcn.10450c0b
mov eax, dword [esi + 0x10]
add eax, 0x7a80
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
push 0xffffffffffffffff
push 0
push ecx
push 0x80110
mov ecx, dword [ebp - 0x124]
call fcn.1004d860
mov dword [ebp - 0x120], eax
cmp byte [esi + 8], 0
jne 0x100cd845
call fcn.10450c0b
mov ecx, dword [esi + 0x10]
add ecx, 0x7a80
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp dword [ebp - 0x120], 0
jl case.0x100cd36a.11
mov ecx, dword [edi + 0xfc4]
mov eax, dword [ecx]
mov eax, dword [eax + 0x34]
call eax
add eax, dword [edi + 0xfb8]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ecx + eax*4 + 0x1c]
push dword [ebp - 0x100]
push dword [ebp - 0x130]
push dword [ebp - 0x11c]
push dword [ebp - 0x108]
push dword [ebp - 0x10c]
call eax
add esp, 0x14
mov esi, eax
mov dword [ebp - 0x104], esi
mov eax, dword [edi + 0xfc4]
mov dword [ebp - 0x124], eax
test eax, eax
je 0x100cd93d
mov edx, dword [eax]
mov ecx, eax
mov edx, dword [edx + 0x30]
call edx
shr eax, 3
test al, 1
jne 0x100cd93d
mov eax, dword fs:[0x2c]
mov ecx, dword [0x11d0c5b8]
mov esi, dword [eax + ecx*4]
cmp byte [esi + 8], 0
jne 0x100cd8f6
call fcn.10450c0b
mov eax, dword [esi + 0x10]
add eax, 0x7a80
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov ecx, dword [ebp - 0x124]
lea ecx, [ecx + 0x30]
call fcn.1004dd80
cmp byte [esi + 8], 0
jne 0x100cd924
call fcn.10450c0b
mov ecx, dword [esi + 0x10]
add ecx, 0x7a80
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x104]
test esi, esi
jne 0x100cd94b
mov eax, 2
jmp 0x100cd2db
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x134]
mov dword [ecx], eax
mov eax, dword [ebp - 0x138]
mov dword [eax], esi
mov dword [edi + 0xf98], 0x1a
mov eax, 8
jmp 0x100cd2db