Function at 0x10055f60
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x10182a33
mov eax, dword fs:[0]
push eax
sub esp, 0x8c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x101cd7b4]
xor eax, esp
push eax
lea eax, [esp + 0xa0]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
xor edi, edi
cmp dword [esi + 0x40], edi
jne 0x10055fa3
cmp dword [esi + 0x44], edi
je 0x100563bc
lea ecx, [esp + 0x18]
call fcn.10044b60
mov dword [esp + 0x1c], eax
mov byte [eax + 0x25], 1
mov eax, dword [esp + 0x1c]
mov dword [eax + 4], eax
mov eax, dword [esp + 0x1c]
mov dword [eax], eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], eax
mov dword [esp + 0x20], edi
lea eax, [esi + 8]
mov dword [esp + 0x6c], eax
add eax, 4
push eax
mov dword [esp + 0xac], edi
xor ebp, ebp
mov dword [esp + 0x6c], 0x10199614
mov dword [esp + 0x38], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0x28]
lea ebx, [esi + 0x24]
mov esi, dword [eax]
mov byte [esp + 0xa8], 1
mov dword [esp + 0x28], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x3c], eax
mov edi, edi
test ebx, ebx
je 0x1005601f
mov eax, dword [esp + 0x14]
add eax, 0x24
cmp ebx, eax
je 0x10056024
call fcn.1015988d
cmp esi, dword [esp + 0x3c]
je 0x100560c6
test ebx, ebx
jne 0x10056037
call fcn.1015988d
cmp esi, dword [ebx + 4]
jne 0x10056041
call fcn.1015988d
lea ecx, [esi + 0x28]
mov dword [esp + 0x2c], ecx
call fcn.100584a0
cmp esi, dword [ebx + 4]
mov dword [esp + 0x40], eax
jne 0x1005605b
call fcn.1015988d
mov ecx, dword [esp + 0x40]
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x54], edx
mov edx, dword [esi + 0x1c]
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x60], edx
push ecx
mov dword [esp + 0x5c], eax
mov eax, dword [esi + 0x20]
lea edx, [esp + 0x74]
push edx
lea ecx, [esp + 0x20]
mov dword [esp + 0x6c], eax
call fcn.100529a0
cmp esi, dword [ebx + 4]
jne 0x100560a3
call fcn.1015988d
mov ecx, dword [esp + 0x2c]
call fcn.100d7a80
add edi, eax
lea ecx, [esp + 0x24]
adc ebp, edx
call fcn.1004fa20
mov esi, dword [esp + 0x28]
mov ebx, dword [esp + 0x24]
jmp 0x10056010
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 0x44]
mov esi, dword [ebx + 0x40]
mov edx, edi
add edx, dword [esp + 0xb0]
mov eax, ebp
adc eax, dword [esp + 0xb4]
cmp eax, ecx
jg 0x10056128
jl 0x100560ec
cmp edx, esi
jae 0x10056128
mov eax, dword [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x1c]
push ecx
mov esi, ecx
push edx
push esi
lea ecx, [esp + 0x58]
push ecx
mov ecx, esi
mov dword [esp + 0xbc], 0xffffffff
call fcn.10052f70
mov edx, dword [esp + 0x1c]
push edx
jmp 0x100563b4
mov eax, dword [esp + 0x1c]
sub edi, esi
sbb ebp, ecx
add dword [esp + 0xb0], edi
mov ecx, dword [eax]
lea edx, [esp + 0x18]
adc dword [esp + 0xb4], ebp
mov esi, edx
mov edi, ecx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edi
mov dword [esp + 0x4c], eax
test esi, esi
je 0x10056160
lea eax, [esp + 0x18]
cmp esi, eax
je 0x10056165
call fcn.1015988d
cmp edi, dword [esp + 0x4c]
je 0x1005637c
test esi, esi
jne 0x10056178
call fcn.1015988d
cmp edi, dword [esi + 4]
jne 0x10056182
call fcn.1015988d
add edi, 0x10
push edi
lea ecx, [ebx + 0x24]
call fcn.10050020
lea esi, [ebx + 0x24]
test esi, esi
mov ebp, eax
mov dword [esp + 0x44], ebp
jne 0x100561a0
call fcn.1015988d
mov dword [esp + 0x40], esi
mov esi, dword [esi + 4]
cmp ebp, esi
je 0x100561da
xor eax, eax
lea ecx, [ecx]
mov cl, byte [eax + edi]
mov dl, byte [eax + ebp + 0x10]
cmp cl, dl
ja 0x100562f6
jb 0x100561da
cmp eax, 0x13
jne 0x100561d2
mov cl, byte [edi + 0x13]
cmp cl, byte [ebp + 0x23]
je 0x100562f6
add eax, 1
cmp eax, 0x14
jb 0x100561b0
lea eax, [ebx + 0x24]
lea edx, [esp + 0x38]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], esi
mov dword [esp + 0x14], edx
mov eax, edx
mov edi, dword [eax]
test edi, edi
mov esi, dword [eax + 4]
jne 0x100561fd
call fcn.1015988d
cmp esi, dword [edi + 4]
jne 0x10056207
call fcn.1015988d
lea ecx, [esi + 0x28]
call fcn.100d7a80
sub dword [esp + 0xb0], eax
sbb dword [esp + 0xb4], edx
cmp esi, dword [edi + 4]
jne 0x10056227
call fcn.1015988d
lea eax, [esp + 0x7c]
push eax
lea ecx, [esi + 0x28]
call fcn.100d7e30
mov ebp, eax
cmp esi, dword [edi + 4]
mov byte [esp + 0xa8], 2
jne 0x10056248
call fcn.1015988d
lea ecx, [esp + 0x50]
push ecx
lea ecx, [esi + 0x28]
call fcn.100d7a90
push eax
push ebp
mov ecx, ebx
call fcn.100d5120
cmp dword [esp + 0x94], 0x10
mov byte [esp + 0xa8], 1
jb 0x10056280
mov edx, dword [esp + 0x80]
push edx
call fcn.10159534
add esp, 4
cmp esi, dword [edi + 4]
jne 0x1005628a
call fcn.1015988d
lea eax, [esp + 0x7c]
push eax
lea ecx, [esi + 0x28]
call fcn.10058770
mov edi, eax
lea esi, [ebx + 0x30]
push edi
mov ecx, esi
mov byte [esp + 0xac], 3
call fcn.10050af0
test esi, esi
mov ebp, eax
jne 0x100562b7
call fcn.1015988d
push edi
mov ecx, esi
call fcn.10050a50
test esi, esi
mov edi, eax
jne 0x100562ca
call fcn.1015988d
mov eax, esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], edi
test eax, eax
je 0x100562dc
cmp eax, esi
je 0x100562e1
call fcn.1015988d
cmp dword [esp + 0x28], ebp
je 0x10056303
lea ecx, [esp + 0x24]
call fcn.1004fc10
mov eax, dword [esp + 0x24]
jmp 0x100562d4
lea eax, [esp + 0x40]
mov dword [esp + 0x14], eax
jmp 0x100561ef
push ebp
push esi
push edi
push esi
lea ecx, [esp + 0xa8]
push ecx
mov ecx, esi
call fcn.10054d80
cmp dword [esp + 0x94], 0x10
mov byte [esp + 0xa8], 1
jb 0x10056338
mov edx, dword [esp + 0x80]
push edx
call fcn.10159534
add esp, 4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x78]
push eax
lea ecx, [ebx + 0x24]
call fcn.100511b0
cmp dword [esp + 0xb4], 0
jl 0x1005637c
jg 0x10056366
cmp dword [esp + 0xb0], 0
jb 0x1005637c
lea ecx, [esp + 0x2c]
call fcn.10044650
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x2c]
jmp 0x10056154
mov ecx, dword [esp + 0x34]
push ecx
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [esp + 0x1c]
mov edx, dword [eax]
push eax
lea ecx, [esp + 0x1c]
push ecx
push edx
mov esi, ecx
push esi
lea edx, [esp + 0x80]
push edx
mov dword [esp + 0xbc], 0xffffffff
call fcn.10052f70
mov eax, dword [esp + 0x1c]
push eax
call fcn.10159534
add esp, 4
mov ecx, dword [esp + 0xa0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x98
ret 8