Function at 0x553e10
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], edx
mov esi, eax
mov edi, dword [0x5a23f8]
xor eax, eax
push ebp
push 0x55453a
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [edi]
mov eax, dword [esi + 0x300]
call fcn.00468b44
xor edx, edx
mov dl, byte [edi + 4]
mov eax, dword [esi + 0x348]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 5]
mov eax, dword [esi + 0x340]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, dword [edi + 8]
mov eax, dword [esi + 0x334]
call fcn.0052f1cc
mov edx, dword [edi + 0xc]
mov eax, dword [esi + 0x32c]
call fcn.0052f1cc
mov eax, dword [edi + 0xc]
call fcn.005037bc
push edx
push eax
mov eax, dword [edi + 8]
call fcn.005037bc
add eax, dword [esp]
adc edx, dword [esp + 4]
add esp, 8
push edx
push eax
lea eax, [ebp - 0x34]
call fcn.005039f8
mov edx, dword [ebp - 0x34]
mov eax, dword [esi + 0x338]
call fcn.0052f1cc
xor edx, edx
mov dl, byte [edi + 0x10]
mov eax, dword [esi + 0x350]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x11]
mov eax, dword [esi + 0x370]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x12]
mov eax, dword [esi + 0x358]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x13]
mov eax, dword [esi + 0x360]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x14]
mov eax, dword [esi + 0x378]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x15]
mov eax, dword [esi + 0x368]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x2b]
mov eax, dword [esi + 0x3b0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x2b]
xor dl, 1
mov eax, dword [esi + 0x3b4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x38]
mov eax, dword [edi + 0x30]
call fcn.0040948c
mov edx, dword [ebp - 0x38]
mov eax, dword [esi + 0x3a0]
call fcn.00468b44
mov eax, dword [esi + 0x3ac]
mov dword [ebp - 4], eax
mov edx, 2
mov eax, dword [ebp - 4]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a21c4]
mov dword [ebp - 0x1c], eax
lea edx, [ebp - 0x3c]
mov eax, dword [edi + 0x2c]
call fcn.0040948c
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
call fcn.00404d30
jne 0x553fc3
mov edx, ebx
mov eax, dword [ebp - 4]
call fcn.00449b00
inc ebx
add dword [ebp - 0x1c], 4
cmp ebx, 0xe
jne 0x553f9f
mov al, byte [edi + 0x42]
sub al, 1
jb 0x553fdc
je 0x553fee
dec al
je 0x554000
jmp 0x554010
mov dl, 1
mov eax, dword [esi + 0x3f8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x554010
mov dl, 1
mov eax, dword [esi + 0x3fc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x554010
mov dl, 1
mov eax, dword [esi + 0x400]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x40]
mov eax, dword [esi + 0x3e8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x40]
xor dl, 1
mov eax, dword [esi + 0x3ec]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x41]
mov eax, dword [esi + 0x3f0]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x34]
mov eax, dword [esi + 0x3d4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x34]
xor dl, 1
mov eax, dword [esi + 0x3d8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, dword [edi + 0x38]
mov eax, dword [esi + 0x3dc]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov edx, dword [edi + 0x3c]
mov eax, dword [esi + 0x3e0]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov dl, byte [edi + 0x43]
mov eax, dword [esi + 0x434]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x43]
xor dl, 1
mov eax, dword [esi + 0x438]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x40]
mov eax, dword [edi + 0x48]
call fcn.0040948c
mov edx, dword [ebp - 0x40]
mov eax, dword [esi + 0x424]
call fcn.00468b44
mov eax, dword [esi + 0x430]
mov dword [ebp - 8], eax
mov edx, 2
mov eax, dword [ebp - 8]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a21c0]
mov dword [ebp - 0x20], eax
lea edx, [ebp - 0x44]
mov eax, dword [edi + 0x44]
call fcn.0040948c
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax]
call fcn.00404d30
jne 0x554114
mov edx, ebx
mov eax, dword [ebp - 8]
call fcn.00449b00
inc ebx
add dword [ebp - 0x20], 4
cmp ebx, 0xe
jne 0x5540f0
mov al, byte [edi + 0x5a]
sub al, 1
jb 0x55412d
je 0x55413f
dec al
je 0x554151
jmp 0x554161
mov dl, 1
mov eax, dword [esi + 0x47c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x554161
mov dl, 1
mov eax, dword [esi + 0x480]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp 0x554161
mov dl, 1
mov eax, dword [esi + 0x484]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x58]
mov eax, dword [esi + 0x46c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x58]
xor dl, 1
mov eax, dword [esi + 0x470]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x59]
mov eax, dword [esi + 0x474]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x4c]
mov eax, dword [esi + 0x458]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x4c]
xor dl, 1
mov eax, dword [esi + 0x45c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov edx, dword [edi + 0x50]
mov eax, dword [esi + 0x460]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov edx, dword [edi + 0x54]
mov eax, dword [esi + 0x464]
mov ecx, dword [eax]
call dword [ecx + 0x1d4]
mov dl, byte [edi + 0x16]
mov eax, dword [esi + 0x4b8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x16]
xor dl, 1
mov eax, dword [esi + 0x4bc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
lea edx, [ebp - 0x48]
mov eax, dword [edi + 0x1c]
call fcn.0040948c
mov edx, dword [ebp - 0x48]
mov eax, dword [esi + 0x4a8]
call fcn.00468b44
mov eax, dword [esi + 0x4b4]
mov dword [ebp - 0xc], eax
mov edx, 2
mov eax, dword [ebp - 0xc]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a2094]
mov dword [ebp - 0x24], eax
lea edx, [ebp - 0x4c]
mov eax, dword [edi + 0x18]
call fcn.0040948c
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x24]
mov eax, dword [eax]
call fcn.00404d30
jne 0x554265
mov edx, ebx
mov eax, dword [ebp - 0xc]
call fcn.00449b00
inc ebx
add dword [ebp - 0x24], 4
cmp ebx, 0xe
jne 0x554241
xor eax, eax
mov al, byte [edi + 0x2a]
cmp eax, 4
ja case.default.0x554279
jmp dword [eax*4 + 0x554280]
mov dl, 1
mov eax, dword [esi + 0x4e8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp case.default.0x554279
mov dl, 1
mov eax, dword [esi + 0x4f4]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp case.default.0x554279
mov dl, 1
mov eax, dword [esi + 0x4ec]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp case.default.0x554279
mov dl, 1
mov eax, dword [esi + 0x4f8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
jmp case.default.0x554279
mov dl, 1
mov eax, dword [esi + 0x4f0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x28]
mov eax, dword [esi + 0x4d8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x28]
xor dl, 1
mov eax, dword [esi + 0x4dc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
xor edx, edx
mov dl, byte [edi + 0x29]
mov eax, dword [esi + 0x4e0]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
cmp dword [edi + 0x20], 0x80
jne 0x554343
cmp dword [edi + 0x24], 0x60
jne 0x554343
mov dl, 1
mov eax, dword [esi + 0x4c8]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
cmp dword [edi + 0x20], 0xb0
jne 0x554365
cmp dword [edi + 0x24], 0x90
jne 0x554365
mov dl, 1
mov eax, dword [esi + 0x4cc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
cmp dword [edi + 0x20], 0x160
jne 0x554387
cmp dword [edi + 0x24], 0x120
jne 0x554387
mov dl, 1
mov eax, dword [esi + 0x4d0]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov dl, byte [edi + 0x5b]
mov eax, dword [esi + 0x5bc]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi + 0x5b8]
mov dword [ebp - 0x10], eax
mov edx, 4
mov eax, dword [ebp - 0x10]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a1e74]
mov dword [ebp - 0x28], eax
lea edx, [ebp - 0x50]
mov eax, dword [edi + 0x5c]
call fcn.0040948c
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
call fcn.00404d30
jne 0x5543df
mov edx, ebx
mov eax, dword [ebp - 0x10]
call fcn.00449b00
inc ebx
add dword [ebp - 0x28], 4
cmp ebx, 0xd
jne 0x5543bb
xor edx, edx
mov dl, byte [edi + 0x60]
mov eax, dword [esi + 0x598]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x61]
mov eax, dword [esi + 0x590]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x62]
mov eax, dword [esi + 0x53c]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi + 0x538]
mov dword [ebp - 0x14], eax
mov edx, 4
mov eax, dword [ebp - 0x14]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a24ac]
mov dword [ebp - 0x2c], eax
lea edx, [ebp - 0x54]
mov eax, dword [edi + 0x64]
call fcn.0040948c
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
call fcn.00404d30
jne 0x554467
mov edx, ebx
mov eax, dword [ebp - 0x14]
call fcn.00449b00
inc ebx
add dword [ebp - 0x2c], 4
cmp ebx, 7
jne 0x554443
xor edx, edx
mov dl, byte [edi + 0x68]
mov eax, dword [esi + 0x518]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x69]
mov eax, dword [esi + 0x510]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
mov dl, byte [edi + 0x6a]
mov eax, dword [esi + 0x578]
mov ecx, dword [eax]
call dword [ecx + 0xcc]
mov eax, dword [esi + 0x574]
mov dword [ebp - 0x18], eax
mov edx, 4
mov eax, dword [ebp - 0x18]
call fcn.00449b00
mov ebx, 1
mov eax, dword [0x5a1ed0]
mov dword [ebp - 0x30], eax
lea edx, [ebp - 0x58]
mov eax, dword [edi + 0x6c]
call fcn.0040948c
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
call fcn.00404d30
jne 0x5544ef
mov edx, ebx
mov eax, dword [ebp - 0x18]
call fcn.00449b00
inc ebx
add dword [ebp - 0x30], 4
cmp ebx, 8
jne 0x5544cb
xor edx, edx
mov dl, byte [edi + 0x70]
mov eax, dword [esi + 0x554]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor edx, edx
mov dl, byte [edi + 0x71]
mov eax, dword [esi + 0x54c]
mov ecx, dword [eax]
call dword [ecx + 0xd0]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x554541
lea eax, [ebp - 0x58]
mov edx, 0xa
call fcn.00404948
ret