Function at 0x59164c
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x94e6a2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x8d0
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
push ebx
lea ecx, [esp + 0x20]
call fcn.00735050
lea ecx, [esp + 0x18]
mov dword [esp + 0x8e4], ebx
call fcn.00911f0c
lea ecx, [esp + 0xc]
mov byte [esp + 0x8e4], 1
call fcn.00911f0c
mov eax, dword [0xa8fd20]
lea ecx, [esp + 0xc]
push eax
push 0xa8fd60
push 0xa7d274
push ecx
mov byte [esp + 0x8f4], 2
call fcn.00911f42
mov al, byte [esp + 0x8fc]
add esp, 0x10
cmp al, 0x57
je 0x5918eb
cmp al, 0x77
je 0x5918eb
cmp al, 0x52
je 0x5917db
cmp al, 0x72
je 0x5917db
push ecx
lea edx, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x14], esp
push edx
call fcn.0091203e
lea ecx, [esp + 0x20]
call fcn.007351b0
cmp eax, ebx
je 0x591729
mov eax, dword [esi + 0x2a40]
lea edx, [esi + 0x2c00]
lea ecx, [esi + 0x2a40]
push edx
mov edx, dword [esp + 0x10]
push 2
push edx
call dword [eax + 0x28]
test eax, eax
jne 0x5919cd
push ecx
lea eax, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x14], esp
push eax
call fcn.0091203e
mov ecx, esi
call fcn.0058df90
jmp 0x5919cd
lea ecx, [esp + 0x10]
call fcn.00911f0c
mov ecx, dword [0xa8fd20]
lea edx, [esp + 0x10]
push ecx
push 0xa8fd60
push 0xa7d2bc
push edx
mov byte [esp + 0x8f4], 4
call fcn.00911f42
add esp, 0xc
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0091203e
lea ecx, [esp + 0x20]
call fcn.007351b0
cmp eax, ebx
je 0x5917bc
mov edx, dword [esi + 0x2a40]
lea eax, [esi + 0x2c00]
lea ecx, [esi + 0x2a40]
push eax
mov eax, dword [esp + 0x10]
push 0x1002
push eax
call dword [edx + 0x28]
test eax, eax
jne 0x5917b3
push ecx
lea edx, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0091203e
mov ecx, esi
call fcn.0058df90
jmp 0x5917c5
mov ecx, esi
call fcn.005aca00
jmp 0x5917c5
push 0x57
mov ecx, esi
call fcn.00591630
lea ecx, [esp + 0x10]
mov byte [esp + 0x8e4], 2
call fcn.00911ee2
jmp 0x5919cd
push ecx
lea eax, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0091203e
lea ecx, [esp + 0x20]
call fcn.007351b0
cmp eax, ebx
je 0x59183a
mov edx, dword [esi + 0x2a40]
lea eax, [esi + 0x2c00]
lea ecx, [esi + 0x2a40]
push eax
mov eax, dword [esp + 0x10]
push ebx
push eax
call dword [edx + 0x28]
test eax, eax
jne 0x5919cd
push ecx
lea edx, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0091203e
mov ecx, esi
call fcn.0058df90
jmp 0x5919cd
lea ecx, [esp + 0x10]
call fcn.00911f0c
mov eax, dword [0xa8fd20]
lea ecx, [esp + 0x10]
push eax
push 0xa8fd60
push 0xa7d2bc
push ecx
mov byte [esp + 0x8f4], 3
call fcn.00911f42
add esp, 0xc
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0091203e
lea ecx, [esp + 0x20]
call fcn.007351b0
cmp eax, ebx
je 0x5918cc
mov eax, dword [esi + 0x2a40]
lea edx, [esi + 0x2c00]
lea ecx, [esi + 0x2a40]
push edx
mov edx, dword [esp + 0x10]
push 0x1002
push edx
call dword [eax + 0x28]
test eax, eax
jne 0x5918c3
push ecx
lea eax, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x18], esp
push eax
call fcn.0091203e
mov ecx, esi
call fcn.0058df90
jmp 0x5918d5
mov ecx, esi
call fcn.005aca00
jmp 0x5918d5
push 0x57
mov ecx, esi
call fcn.00591630
lea ecx, [esp + 0x10]
mov byte [esp + 0x8e4], 2
call fcn.00911ee2
jmp 0x5919cd
mov edx, dword [esi + 0x2a40]
lea eax, [esi + 0x2c00]
lea ecx, [esi + 0x2a40]
push eax
mov eax, dword [esp + 0x10]
push 0x1002
push eax
call dword [edx + 0x28]
test eax, eax
jne 0x591927
push ecx
lea edx, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x18], esp
push edx
call fcn.0091203e
mov ecx, esi
call fcn.0058df90
mov ecx, esi
call fcn.005906f0
mov ax, word [0xa8e768]
mov edi, 1
mov word [esi + 0x34a8], ax
mov dword [esp + 0x10], edi
mov ax, word [esi + 0x34a8]
mov cx, word [0xa8e7ac]
cmp ax, 0x23
mov word [esi + 0x34aa], cx
je 0x59198c
cmp ax, 0x51
je 0x59198c
cmp ax, 0x55
je 0x59198c
cmp ax, 0x4d
je 0x59198c
cmp ax, 0x57
je 0x59198c
cmp ax, 0x5a
je 0x59198c
cmp ax, 0x5b
je 0x59198c
mov word [esi + 0x34ac], bx
jmp 0x591995
mov word [esi + 0x34ac], 1
fild dword [esp + 0x10]
push edi
mov ecx, esi
fstp qword [esi + 0x34b0]
call fcn.0058db40
inc edi
mov dword [esp + 0x10], edi
lea edx, [edi - 1]
cmp edx, 3
jl 0x591944
mov ecx, esi
call fcn.005906f0
push ebx
mov ecx, esi
mov dword [esi + 0x34c4], 2
call fcn.0058db40
mov eax, dword [esi + 0x2a40]
lea ecx, [esi + 0x2a40]
push ebx
push ebx
call dword [eax + 0x30]
push ebx
mov ecx, esi
call fcn.0058db90
mov ecx, dword [esi + 0x34c4]
mov byte [esp + 0x8e4], 1
mov dword [esi + 0x22f0], ecx
lea ecx, [esp + 0xc]
call fcn.00911ee2
lea ecx, [esp + 0x18]
mov byte [esp + 0x8e4], bl
call fcn.00911ee2
push fcn.00911ee2
push 0x12d
lea edx, [esp + 0x88]
push 4
push edx
mov dword [esp + 0x8f4], 5
call fcn.009128f2
lea ecx, [esp + 0x1c]
mov dword [esp + 0x8e4], 0xffffffff
call fcn.00911f36
mov ecx, dword [esp + 0x8dc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x8dc
ret 4