Function at 0x1005d1b0
Capabilities:
Access peb ldr_data

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x1012f37b
push eax
mov eax, 0xfad4
mov dword fs:[0], esp
call fcn.1002f510
push ebx
mov ebx, dword [esp + 0xfae8]
push esi
mov esi, ecx
push ebx
call fcn.1005ce10
push ebx
mov ecx, esi
call fcn.1005d140
push 2
lea ecx, [esp + 0x30]
call fcn.1004db00
xor eax, eax
mov dword [esp + 0x2c], 0x10136e78
mov dword [esp + 0xfad8], eax
mov byte [esp + 0x214], al
mov byte [esp + 0xf9d8], al
mov ecx, dword [esi + 0x10]
mov dword [esp + 0xfae4], eax
cmp ecx, eax
mov dword [esp + 0xc], eax
jle 0x1005d3ca
push ebp
push edi
mov eax, dword [esi + 0xc]
xor edi, edi
test eax, eax
mov dword [esp + 0x20], edi
jle 0x1005d3b2
sub eax, edi
cmp eax, 0x11
jge 0x1005d24a
mov ebx, eax
mov dword [esp + 0x18], ebx
jmp 0x1005d256
mov dword [esp + 0x18], 0x11
mov ebx, dword [esp + 0x18]
mov ebp, dword [esi + 0x10]
mov ecx, dword [esp + 0x14]
sub ebp, ecx
cmp ebp, 0xf
jl 0x1005d269
mov ebp, 0xf
lea ecx, [esp + 0x34]
call fcn.100535e0
cmp ebx, eax
jne 0x1005d283
lea ecx, [esp + 0x34]
call fcn.100535d0
cmp ebp, eax
je 0x1005d292
push 0
push 8
push ebp
push ebx
lea ecx, [esp + 0x44]
call fcn.1004de40
mov ecx, esi
call fcn.10053460
test al, al
je 0x1005d2c2
push 0
lea ecx, [esp + 0x38]
call fcn.10053410
lea eax, [esp + 0x30]
mov ecx, esi
push eax
call fcn.100533c0
mov ecx, dword [eax]
push ecx
push 0
lea ecx, [esp + 0x3c]
call fcn.10054710
xor ecx, ecx
test ebp, ebp
mov dword [esp + 0x1c], ecx
jbe 0x1005d374
mov eax, dword [esp + 0x18]
xor ebx, ebx
test eax, eax
jbe 0x1005d367
mov al, cl
mov dl, 0x11
imul dl
inc al
mov byte [esp + 0x13], al
jmp 0x1005d2f4
mov al, byte [esp + 0x13]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x14]
add al, bl
mov byte [esp + 0x24], al
mov eax, dword [esi + 0x10]
sub eax, edx
push 1
sub eax, ebp
lea edx, [esp + 0x2c]
add eax, ecx
lea ecx, [ebx + edi]
push eax
push ecx
push edx
mov ecx, esi
call fcn.100549c0
mov eax, dword [eax]
mov edi, dword [esp + 0x24]
push eax
push edi
lea ecx, [esp + 0x3c]
call fcn.10054710
lea ecx, [esp + 0x2c]
push edi
push ecx
lea ecx, [esp + 0x3c]
call fcn.10054780
mov edx, dword [eax]
lea ecx, [esp + 0x34]
push edx
call fcn.10054e90
push eax
mov eax, dword [esp + 0x20]
push eax
push ebx
lea ecx, [esp + 0x40]
call fcn.10054c60
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
inc ebx
cmp ebx, eax
jb 0x1005d2ec
mov edi, dword [esp + 0x20]
inc ecx
cmp ecx, ebp
mov dword [esp + 0x1c], ecx
jb 0x1005d2d0
mov ecx, dword [esp + 0x14]
push ecx
push edi
lea ecx, [esp + 0x3c]
call fcn.10053710
mov ebx, dword [esp + 0xfaf4]
lea ecx, [esp + 0x34]
push ebx
call fcn.1005ced0
push 1
push ebx
lea ecx, [esp + 0x3c]
call fcn.1005cff0
mov eax, dword [esi + 0xc]
add edi, 0x11
cmp edi, eax
mov dword [esp + 0x20], edi
jl 0x1005d23b
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 0x10]
add eax, 0xf
cmp eax, ecx
mov dword [esp + 0x14], eax
jl 0x1005d22a
pop edi
pop ebp
mov edx, dword [ebx]
push 0x3b
mov ecx, ebx
call dword [edx + 0x28]
lea ecx, [esp + 0x2c]
mov dword [esp + 0xfae4], 0xffffffff
mov dword [esp + 0x2c], sym.FirmwareModifier.dll_const_CxImage::vftable
call fcn.1004dbd0
lea ecx, [esp + 0x2c]
call fcn.1004db20
mov ecx, dword [esp + 0xfadc]
pop esi
mov al, 1
pop ebx
mov dword fs:[0], ecx
add esp, 0xfae0
ret 4