Function at 0x403110
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x41e288
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor edi, edi
push 0x14
mov dword [esp + 0x20], edi
call fcn.00419780
mov ebp, dword [esp + 0x30]
mov esi, eax
add esp, 4
mov dword [esp + 0x10], esi
mov dword [esi + 4], ebp
mov dword [esi + 0x10], edi
mov eax, dword [0x4277e0]
mov edi, dword [esp + 0x30]
mov dword [esi], eax
mov ecx, dword [0x4277e0]
lea edx, [esi + 0xc]
push edi
push edx
mov dword [esi + 8], ecx
call fcn.00404c30
mov ecx, dword [ebx + 0xc]
mov eax, dword [ebx + 4]
add esp, 8
inc ecx
cmp ebp, eax
mov dword [ebx + 0xc], ecx
je 0x4033c8
mov eax, dword [esp + 0x28]
mov ecx, dword [0x4277e0]
cmp eax, ecx
jne 0x4033c8
mov esi, dword [ebp + 0xc]
mov eax, dword [edi]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4031ba
test cl, cl
je 0x4031b6
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4031ba
add eax, 2
add esi, 2
test cl, cl
jne 0x403196
xor eax, eax
jmp 0x4031bf
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
setl cl
test cl, cl
jne 0x4033c4
mov edx, dword [esp + 0x10]
mov dword [ebp + 8], edx
mov eax, dword [ebx + 4]
cmp ebp, dword [eax + 8]
jne 0x4031e2
mov ecx, edx
mov dword [eax + 8], ecx
mov esi, dword [esp + 0x10]
mov ecx, dword [ebx + 4]
mov eax, esi
mov edi, 1
cmp esi, dword [ecx + 4]
je 0x4033a0
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x10]
test edx, edx
jne 0x4033a0
mov esi, dword [ecx + 4]
mov edx, dword [esi]
cmp ecx, edx
jne 0x4032da
mov edx, dword [esi + 8]
xor esi, esi
cmp dword [edx + 0x10], esi
jne 0x403238
mov dword [ecx + 0x10], edi
mov dword [edx + 0x10], edi
mov edx, dword [eax + 4]
mov ecx, dword [edx + 4]
mov dword [ecx + 0x10], esi
mov edx, dword [eax + 4]
mov eax, dword [edx + 4]
jmp 0x403390
cmp eax, dword [ecx + 8]
jne 0x40327a
mov eax, ecx
mov ecx, dword [eax + 8]
mov edx, dword [ecx]
mov dword [eax + 8], edx
mov edx, dword [ecx]
cmp edx, dword [0x4277e0]
je 0x403254
mov dword [edx + 4], eax
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebx + 4]
cmp eax, dword [edx + 4]
jne 0x403267
mov dword [edx + 4], ecx
jmp 0x403275
mov edx, dword [eax + 4]
cmp eax, dword [edx]
jne 0x403272
mov dword [edx], ecx
jmp 0x403275
mov dword [edx + 8], ecx
mov dword [ecx], eax
mov dword [eax + 4], ecx
mov ecx, dword [eax + 4]
mov dword [ecx + 0x10], edi
mov edx, dword [eax + 4]
mov ecx, dword [edx + 4]
mov dword [ecx + 0x10], esi
mov edx, dword [eax + 4]
mov ecx, dword [edx + 4]
mov edx, dword [ecx]
mov esi, dword [edx + 8]
mov dword [ecx], esi
mov esi, dword [edx + 8]
cmp esi, dword [0x4277e0]
je 0x4032a4
mov dword [esi + 4], ecx
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ebx + 4]
cmp ecx, dword [esi + 4]
jne 0x4032bd
mov dword [esi + 4], edx
mov dword [edx + 8], ecx
jmp 0x40338d
mov esi, dword [ecx + 4]
cmp ecx, dword [esi + 8]
jne 0x4032d0
mov dword [esi + 8], edx
mov dword [edx + 8], ecx
jmp 0x40338d
mov dword [esi], edx
mov dword [edx + 8], ecx
jmp 0x40338d
mov ebp, dword [edx + 0x10]
xor esi, esi
cmp ebp, esi
jne 0x4032fd
mov dword [ecx + 0x10], edi
mov dword [edx + 0x10], edi
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 4]
mov dword [edx + 0x10], esi
mov eax, dword [eax + 4]
mov eax, dword [eax + 4]
jmp 0x403390
cmp eax, dword [ecx]
jne 0x403340
mov eax, ecx
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
mov dword [eax], edx
mov edx, dword [ecx + 8]
cmp edx, dword [0x4277e0]
je 0x403318
mov dword [edx + 4], eax
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [ebx + 4]
cmp eax, dword [edx + 4]
jne 0x40332b
mov dword [edx + 4], ecx
jmp 0x40333a
mov edx, dword [eax + 4]
cmp eax, dword [edx + 8]
jne 0x403338
mov dword [edx + 8], ecx
jmp 0x40333a
mov dword [edx], ecx
mov dword [ecx + 8], eax
mov dword [eax + 4], ecx
mov ecx, dword [eax + 4]
mov dword [ecx + 0x10], edi
mov edx, dword [eax + 4]
mov ecx, dword [edx + 4]
mov dword [ecx + 0x10], esi
mov edx, dword [eax + 4]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + 8]
mov esi, dword [edx]
mov dword [ecx + 8], esi
mov esi, dword [edx]
cmp esi, dword [0x4277e0]
je 0x40336a
mov dword [esi + 4], ecx
mov esi, dword [ecx + 4]
mov dword [edx + 4], esi
mov esi, dword [ebx + 4]
cmp ecx, dword [esi + 4]
jne 0x40337d
mov dword [esi + 4], edx
jmp 0x40338b
mov esi, dword [ecx + 4]
cmp ecx, dword [esi]
jne 0x403388
mov dword [esi], edx
jmp 0x40338b
mov dword [esi + 8], edx
mov dword [edx], ecx
mov dword [ecx + 4], edx
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x10]
cmp eax, dword [ecx + 4]
jne 0x4031f9
mov edx, dword [ebx + 4]
mov ecx, dword [esp + 0x14]
mov eax, dword [edx + 4]
mov dword [eax + 0x10], edi
mov eax, dword [esp + 0x24]
pop edi
mov dword [eax], esi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x10
ret 0x10
mov esi, dword [esp + 0x10]
mov dword [ebp], esi
mov eax, dword [ebx + 4]
cmp ebp, eax
jne 0x4033e0
mov dword [eax + 4], esi
mov edx, dword [ebx + 4]
mov dword [edx + 8], esi
jmp 0x4031e6
cmp ebp, dword [eax]
jne 0x4031e6
mov dword [eax], esi
jmp 0x4031e6