Function at 0x553210
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x71d97d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x14
mov eax, dword [0x746644]
push ebp
push esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
mov eax, dword [0x7a39fc]
push edi
mov edi, ecx
mov ecx, dword [eax + 8]
call fcn.004ae6b0
mov ecx, dword [eax + 0x20]
mov ebp, dword [esp + 0x30]
add eax, 0x1c
mov eax, dword [edi + 0x268]
cmp eax, ebp
mov dword [esp + 0x1c], ecx
jne 0x5532f3
push 0x34
call fcn.006fa7e6
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
mov dword [esp + 0x28], 0
je 0x553290
mov ecx, eax
call fcn.004d7540
mov esi, eax
jmp 0x553292
xor esi, esi
mov word [esi], 0x13
mov edx, dword [edi + 0x14]
push edx
push 0
mov ecx, esi
mov dword [esp + 0x30], 0xffffffff
call fcn.004d7780
push ebp
push 1
mov ecx, esi
call fcn.004d7780
mov eax, dword [0x7a39fc]
mov edx, dword [0x7441dc]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x1c]
mov edi, dword [edi + 0x14]
push esi
push edx
push eax
push edi
push 0
push 0
call fcn.004aed80
mov ecx, eax
call fcn.004b08d0
pop edi
pop esi
pop ebp
mov ecx, dword [esp + 0x14]
mov dword fs:[0], ecx
add esp, 0x20
ret 0x10
mov ecx, dword [esp + 0x3c]
mov edx, dword [0x746644]
push ebx
xor ebx, ebx
cmp ecx, edx
je 0x553313
cmp eax, ecx
je 0x55330d
mov ebx, 1
mov dword [edi + 0x268], ecx
mov eax, dword [edi + 0x268]
cmp eax, dword [0x746644]
je 0x5533d8
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
lea edx, [esp + 0x40]
push edx
push eax
call fcn.004aed70
mov ecx, eax
call fcn.004d8230
cmp al, byte [0x74666c]
jne 0x5533d8
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x5533d8
mov al, byte [ecx + 8]
cmp al, byte [0x746634]
jne 0x55336f
mov eax, dword [edi + 0x268]
mov dword [esp + 0x14], eax
jmp 0x5533d8
cmp al, byte [0x746635]
jne 0x5533c6
mov edx, dword [ecx]
call dword [edx + 0x38]
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
mov esi, eax
mov eax, dword [esi + 0x268]
lea edx, [esp + 0x40]
push edx
push eax
call fcn.004aed70
mov ecx, eax
call fcn.004d8230
cmp al, byte [0x74666c]
jne 0x5533d8
mov eax, dword [esp + 0x40]
test eax, eax
je 0x5533d8
mov al, byte [eax + 8]
cmp al, byte [0x746634]
jne 0x5533d8
mov ecx, dword [esi + 0x268]
mov dword [esp + 0x14], ecx
jmp 0x5533d8
cmp al, byte [0x746638]
jne 0x5533d8
mov edx, dword [edi + 0x268]
mov dword [esp + 0x18], edx
cmp ebp, dword [0x746644]
je 0x553482
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 8]
lea edx, [esp + 0x40]
push edx
push ebp
call fcn.004aed70
mov ecx, eax
call fcn.004d8230
cmp al, byte [0x74666c]
jne 0x553482
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x553482
mov al, byte [ecx + 8]
cmp al, byte [0x746634]
jne 0x55341f
mov dword [esp + 0x10], ebp
jmp 0x553482
cmp al, byte [0x746635]
jne 0x553476
mov eax, dword [ecx]
call dword [eax + 0x38]
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
mov esi, eax
mov eax, dword [esi + 0x268]
lea edx, [esp + 0x40]
push edx
push eax
call fcn.004aed70
mov ecx, eax
call fcn.004d8230
cmp al, byte [0x74666c]
jne 0x553482
mov eax, dword [esp + 0x40]
test eax, eax
je 0x553482
mov al, byte [eax + 8]
cmp al, byte [0x746634]
jne 0x553482
mov ecx, dword [esi + 0x268]
mov dword [esp + 0x10], ecx
jmp 0x553482
cmp al, byte [0x746638]
jne 0x553482
mov dword [esp + 0x1c], ebp
test ebx, ebx
jne 0x553655
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x10]
je 0x553655
cmp eax, dword [0x746644]
mov ebp, dword [esp + 0x3c]
je 0x55358a
mov eax, dword [esp + 0x38]
mov esi, 1
cmp eax, esi
jne 0x55351c
push 0x34
call fcn.006fa7e6
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x2c], esi
je 0x5534d6
mov ecx, eax
call fcn.004d7540
mov esi, eax
jmp 0x5534d8
xor esi, esi
mov word [esi], 0x14
mov eax, dword [edi + 0x14]
push eax
push 0
mov ecx, esi
mov dword [esp + 0x34], 0xffffffff
call fcn.004d7780
mov edx, dword [0x7a39fc]
mov ecx, dword [edx + 8]
mov edx, dword [0x7441dc]
mov eax, dword [edi + 0x14]
push esi
push edx
mov edx, dword [esp + 0x28]
push edx
push eax
push 0
push 0
call fcn.004aed80
mov ecx, eax
call fcn.004b08d0
mov eax, dword [0x7a39fc]
mov edx, dword [esp + 0x14]
mov ecx, dword [eax + 8]
push edx
call fcn.004ae770
mov ebx, eax
test ebx, ebx
je 0x55358a
cmp ebp, 1
jne 0x55358a
push 0x34
call fcn.006fa7e6
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x2c], 2
je 0x55355e
mov ecx, eax
call fcn.004d69f0
mov esi, eax
jmp 0x553560
xor esi, esi
mov eax, dword [edi + 0x14]
push eax
push 0
mov ecx, esi
mov dword [esp + 0x34], 0xffffffff
call fcn.004d7780
push 1
push 0
mov ecx, esi
call fcn.004d76b0
push esi
push 0x33
mov ecx, ebx
call fcn.004ede10
mov esi, dword [esp + 0x10]
cmp esi, dword [0x746644]
je 0x5536e7
mov eax, dword [0x7a39fc]
mov ecx, dword [eax + 8]
lea edx, [esp + 0x3c]
push edx
push esi
call fcn.004aed70
mov ecx, eax
call fcn.004d8230
cmp al, byte [0x74666c]
jne 0x5535e6
mov ecx, dword [esp + 0x3c]
test ecx, ecx
je 0x5535e6
mov eax, dword [ecx]
call dword [eax + 0x30]
mov eax, dword [eax + 0xa74]
mov ecx, dword [eax + 0x6c]
test ecx, ecx
je 0x5535e6
push 1
mov ecx, edi
call fcn.004ead70
or dword [edi + 0x288], 0x10
cmp ebp, 1
jne 0x553651
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push esi
call fcn.004ae770
mov ebx, eax
test ebx, ebx
je 0x553651
push 0x34
call fcn.006fa7e6
add esp, 4
mov dword [esp + 0x40], eax
test eax, eax
mov dword [esp + 0x2c], 3
je 0x553625
mov ecx, eax
call fcn.004d69f0
mov esi, eax
jmp 0x553627
xor esi, esi
mov eax, dword [edi + 0x14]
push eax
push 0
mov ecx, esi
mov dword [esp + 0x34], 0xffffffff
call fcn.004d7780
push 1
push 0
mov ecx, esi
call fcn.004d76b0
push esi
push 0x32
mov ecx, ebx
call fcn.004ede10
mov ebp, dword [esp + 0x34]
mov edx, dword [0x746644]
cmp dword [esp + 0x10], edx
je 0x5536eb
cmp dword [esp + 0x38], 1
jne 0x5536eb
push 0x34
call fcn.006fa7e6
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
mov dword [esp + 0x2c], 4
je 0x553691
mov ecx, eax
call fcn.004d7540
mov esi, eax
jmp 0x553693
xor esi, esi
mov word [esi], 0x13
mov eax, dword [edi + 0x14]
push eax
push 0
mov ecx, esi
mov dword [esp + 0x34], 0xffffffff
call fcn.004d7780
mov eax, dword [esp + 0x10]
push eax
push 1
mov ecx, esi
call fcn.004d7780
mov edx, dword [0x7441dc]
mov eax, dword [edi + 0x14]
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push esi
push edx
mov edx, dword [esp + 0x28]
push edx
push eax
push 0
push 0
call fcn.004aed80
mov ecx, eax
call fcn.004b08d0
jmp 0x5536eb
mov ebp, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
cmp eax, dword [0x746644]
je 0x5537b6
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push eax
call fcn.004ae7a0
test eax, eax
je 0x5537b6
mov ecx, dword [eax + 0x334]
test ecx, ecx
jne 0x5537b6
mov eax, dword [0x746644]
mov ecx, dword [esp + 0x10]
cmp ecx, eax
mov ebx, eax
jne 0x553737
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
je 0x553739
mov ebx, ecx
cmp ebx, eax
je 0x5537b6
cmp dword [esp + 0x38], 1
jne 0x5537b6
push 0x34
call fcn.006fa7e6
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
mov dword [esp + 0x2c], 5
je 0x553769
mov ecx, eax
call fcn.004d7540
mov esi, eax
jmp 0x55376b
xor esi, esi
push 1
push 0
mov ecx, esi
mov dword [esp + 0x34], 0xffffffff
mov word [esi], 0x1b
call fcn.004d76b0
mov eax, dword [edi + 0x14]
push eax
push 0
mov ecx, esi
call fcn.004d7780
mov edx, dword [0x7a39fc]
mov eax, dword [0x7441dc]
mov ecx, dword [edx + 8]
mov edx, dword [esp + 0x18]
push esi
push eax
push edx
push ebx
push 0
push 0
call fcn.004aed80
mov ecx, eax
call fcn.004b08d0
mov eax, dword [esp + 0x1c]
cmp eax, dword [0x746644]
je 0x553881
mov ecx, dword [0x7a39fc]
mov ecx, dword [ecx + 8]
push eax
call fcn.004ae7a0
test eax, eax
je 0x553881
mov ecx, dword [eax + 0x334]
test ecx, ecx
jne 0x553881
mov eax, dword [0x746644]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
mov ebx, eax
jne 0x553802
mov ecx, dword [esp + 0x18]
cmp ecx, eax
je 0x553804
mov ebx, ecx
cmp ebx, eax
je 0x553881
cmp dword [esp + 0x38], 1
jne 0x553881
push 0x34
call fcn.006fa7e6
add esp, 4
mov dword [esp + 0x34], eax
test eax, eax
mov dword [esp + 0x2c], 6
je 0x553834
mov ecx, eax
call fcn.004d7540
mov esi, eax
jmp 0x553836
xor esi, esi
push 0
push 0
mov ecx, esi
mov dword [esp + 0x34], 0xffffffff
mov word [esi], 0x1b
call fcn.004d76b0
mov edx, dword [edi + 0x14]
push edx
push 0
mov ecx, esi
call fcn.004d7780
mov eax, dword [0x7a39fc]
mov edx, dword [0x7441dc]
mov ecx, dword [eax + 8]
mov eax, dword [esp + 0x1c]
push esi
push edx
push eax
push ebx
push 0
push 0
call fcn.004aed80
mov ecx, eax
call fcn.004b08d0
mov ecx, dword [esp + 0x24]
pop ebx
mov dword [edi + 0x268], ebp
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
add esp, 0x20
ret 0x10