Function at 0x4172d0
Capabilities:
Create thread
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x60ca86
mov eax, dword fs:[0]
push eax
sub esp, 0x54
push ebx
push ebp
push esi
push edi
mov eax, dword [0x711ab8]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov esi, dword [esp + 0x78]
push esi
call fcn.00418c00
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov edi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
lea ebp, [esi + 0x20]
push ebp
call edi
mov byte [esp + 0x70], 1
lea eax, [esi + 0x38]
push eax
call fcn.00418df0
mov byte [esp + 0x70], 2
lea eax, [esi + 0x58]
push eax
call edi
mov byte [esp + 0x70], 3
lea ecx, [esi + 0x78]
push ecx
mov dword [esi + 0x70], ebx
mov dword [esi + 0x74], ebx
call fcn.00419340
mov byte [esp + 0x70], 4
lea eax, [esi + 0x98]
push eax
call edi
mov byte [esp + 0x70], 5
lea eax, [esi + 0xc8]
push eax
mov dword [esi + 0xb0], ebx
mov dword [esi + 0xb4], ebx
mov dword [esi + 0xb8], ebx
mov dword [esi + 0xbc], ebx
mov dword [esi + 0xc0], 0x400
mov dword [esi + 0xc4], ebx
call edi
mov byte [esp + 0x70], 6
mov edx, dword [esp + 0x7c]
push 0xa
push edx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], ebx
call fcn.00421000
cmp eax, ebx
je 0x4173dd
cmp dword [esp + 0x18], 0x18
jne 0x4173dd
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x38], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x3c], ecx
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x40], edx
mov edx, dword [eax + 0x14]
mov dword [esp + 0x44], ecx
push ebx
lea edi, [esp + 0x38]
mov ecx, esi
mov dword [esp + 0x4c], edx
call fcn.00417770
lea edi, [esp + 0x1c]
call fcn.00491400
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ebx
push 0x36ee80
push ecx
push edx
call fcn.005ca5e0
xor ecx, ecx
mov word [esp + 0x28], cx
mov word [esp + 0x2e], cx
mov dword [esp + 0x18], eax
xor eax, eax
xor edx, edx
lea ecx, [esp + 0x24]
push ecx
mov word [esp + 0x28], ax
mov word [esp + 0x2e], dx
mov word [esp + 0x30], ax
mov word [esp + 0x34], dx
mov word [esp + 0x36], ax
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
xor ecx, ecx
mov edx, 1
mov word [esp + 0x2a], dx
xor eax, eax
mov word [esp + 0x30], cx
xor edx, edx
mov word [esp + 0x28], cx
lea edi, [esp + 0x1c]
lea ecx, [esp + 0x24]
mov word [esp + 0x32], ax
mov word [esp + 0x2e], dx
mov word [esp + 0x2c], ax
call fcn.00491050
mov edx, dword [eax + 4]
mov eax, dword [eax]
push ebx
push 0x36ee80
push edx
push eax
call fcn.005ca5e0
mov edi, eax
mov eax, dword [esp + 0x18]
add eax, 0xffffff58
cmp edi, eax
jle 0x417489
mov edi, eax
lea ecx, [esp + 0x50]
push ecx
call fcn.00443eb0
mov byte [esp + 0x70], 7
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x7c]
lea edx, [esp + 0x50]
push edx
push eax
push edi
push ecx
call fcn.00421a10
mov ecx, dword [esp + 0x60]
sub ecx, dword [esp + 0x5c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x417623
push ebp
mov dword [esp + 0x1c], ebp
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [esp + 0x70], 8
mov ecx, dword [esp + 0x60]
sub ecx, dword [esp + 0x5c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x417617
xor ebp, ebp
cmp ebx, eax
jb 0x417506
call fcn.005c475a
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + ebp]
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x20]
push ecx
mov edi, esi
mov dword [esp + 0x84], edx
call fcn.00418d60
mov ecx, dword [esp + 0x1c]
mov edi, dword [esi + 0x18]
mov eax, dword [esi]
test ecx, ecx
je 0x417536
cmp ecx, eax
je 0x41753b
call fcn.005c475a
cmp dword [esp + 0x20], edi
jne 0x417561
lea edx, [esp + 0x7c]
push edx
xor edi, edi
push esi
mov dword [esp + 0x48], edi
call fcn.00418c50
xor ecx, ecx
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, edi
mov dword [eax + 0xc], ecx
lea edx, [esp + 0x7c]
push edx
push esi
call fcn.00418c50
mov ecx, dword [esp + 0x60]
sub ecx, dword [esp + 0x5c]
mov edi, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jb 0x417590
call fcn.005c475a
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + ebp + 8]
add dword [edi], edx
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + ebp + 0xc]
adc dword [edi + 4], ecx
lea edx, [esp + 0x7c]
push edx
push esi
call fcn.00418c50
mov ecx, dword [esp + 0x60]
sub ecx, dword [esp + 0x5c]
mov edi, eax
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
add edi, 8
cmp ebx, eax
jb 0x4175d7
call fcn.005c475a
mov ecx, dword [esp + 0x5c]
mov edx, dword [ecx + ebp + 0x10]
add dword [edi], edx
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + ebp + 0x14]
adc dword [edi + 4], ecx
mov ecx, dword [esp + 0x60]
sub ecx, dword [esp + 0x5c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
inc ebx
add eax, edx
add ebp, 0x18
cmp ebx, eax
jb 0x417506
mov ebp, dword [esp + 0x18]
xor ebx, ebx
mov byte [esp + 0x70], 7
push ebp
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push ebx
push ebx
push esi
push 0x417900
push ebx
push ebx
call fcn.005c4af6
push ebx
push ebx
push esi
push 0x4187c0
push ebx
push ebx
call fcn.005c4af6
add esp, 0x30
mov byte [esp + 0x70], 6
lea edx, [esp + 0x50]
push edx
call fcn.00484970
mov dword [esp + 0x70], 0xffffffff
mov eax, esi
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x60
ret 8