Function at 0x446ab0
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
mov esi, esp
mov dword [esi + 0xc0], ebp
mov dword [esi + 0xc4], esp
mov dword [esi + 0xd0], 0xffffffff
lea eax, [esi + 0xc8]
mov dword [esi + 0xcc], 0x55ca40
mov ecx, dword fs:[0]
mov dword [esi + 0xc8], ecx
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
lea edi, [ebp + 0x10]
mov dword [esi + 0x14], ecx
push 0
call fcn.005044b0
mov dword [esi + 0x1c], esp
sub esp, 0x3c
mov eax, esp
movzx ecx, byte [ebp + 0x38]
mov byte [esi + 6], cl
movzx ecx, byte [ebp + 0x3c]
mov byte [esi + 7], cl
lea ecx, [eax + 0xc]
mov dword [esi + 0x18], eax
mov dword [eax + 0x30], 0
mov dword [esi + 0xd0], 1
mov dword [esi + 8], ecx
push edi
call fcn.00517bf0
mov eax, dword [0x597528]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete dl
setne al
cmp dword [0x59752c], 0xa
setl ah
setge cl
cmp ah, dl
jne 0x446b72
or cl, al
je 0x446b72
nop dword [eax]
jmp 0x446b70
lea edx, [ebp + 8]
mov eax, dword [esi + 0x18]
add eax, 4
mov dword [esi + 0x10], eax
mov eax, dword [0x597530]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, dword [edx + 4]
mov dword [esi + 0xc], eax
not ecx
or ecx, 0xfffffffe
cmp ecx, 0xffffffff
mov eax, dword [0x597534]
sete byte [esi + 4]
cmp eax, 0xa
setl byte [esi + 5]
mov edi, 0x8e71d74e
nop dword [eax]
cmp edi, 0xf68585c6
jg 0x446c30
cmp edi, 0x8e71d74e
je 0x446c46
cmp edi, 0xa618ef38
jne 0x446bb0
mov dword [esi + 0xd0], 3
push dword [esi + 0xc]
push dword [esi + 0x10]
call fcn.00517d20
add esp, 8
mov edx, dword [0x597530]
mov eax, dword [0x597534]
lea ecx, [edx + 1]
imul ecx, edx
mov edx, ecx
xor edx, 0xfffffffe
test edx, ecx
sete bl
cmp eax, 0xa
setl bh
xor bh, bl
mov edi, 0xf68585c7
mov ebx, 0x3f833d65
cmovne edi, ebx
test edx, ecx
mov ecx, edi
cmove ecx, ebx
cmp eax, 0xa
cmovge ecx, edi
mov edi, ecx
jmp 0x446bb0
cmp edi, 0xf68585c7
je 0x446c75
cmp edi, 0x3f833d65
jne 0x446bb0
jmp 0x446c97
movzx eax, byte [esi + 4]
movzx ecx, byte [esi + 5]
mov edx, ecx
xor dl, al
test cl, cl
mov edi, 0xf68585c7
mov ecx, 0xa618ef38
cmovne edi, ecx
test al, al
mov eax, 0xf68585c7
cmove edi, eax
test dl, dl
cmovne edi, ecx
jmp 0x446bb0
mov dword [esi + 0xd0], 3
push dword [esi + 0xc]
push dword [esi + 0x10]
call fcn.00517d20
mov edi, 0xa618ef38
add esp, 8
jmp 0x446bb0
lea eax, [esi + 0x20]
mov ecx, dword [esi + 0x18]
mov dword [ecx], eax
movzx eax, byte [esi + 6]
mov byte [ecx + 0x34], al
movzx eax, byte [esi + 7]
mov byte [ecx + 0x38], al
mov dword [esi + 0xd0], 0
call fcn.00504680
add esp, 0x3c
mov esp, dword [esi + 0x1c]
mov dword [esi + 0xd0], 2
lea ecx, [esi + 0x20]
push dword [esi + 0x14]
push 1
call fcn.005047a0
mov eax, dword [0x597538]
mov ecx, dword [0x59753c]
lea edx, [eax + 1]
imul edx, eax
mov eax, edx
xor eax, 0xfffffffe
test eax, edx
sete byte [esi + 4]
cmp ecx, 0xa
setl byte [esi + 5]
mov eax, 0xb64a59d4
mov ebx, 0x8f2b0a2c
mov edi, 0x1e005acb
nop dword [eax + eax]
cmp eax, 0xf7bbb82a
jle 0x446d30
cmp eax, 0xf7bbb82b
je 0x446d65
cmp eax, 0x1e005acb
jne 0x446d10
jmp 0x446dc5
cmp eax, 0x8f2b0a2c
je 0x446d7c
cmp eax, 0xb64a59d4
jne 0x446d10
movzx ecx, byte [esi + 4]
movzx eax, byte [esi + 5]
mov edx, eax
xor dl, cl
test al, al
mov eax, 0xf7bbb82b
cmovne eax, ebx
test cl, cl
mov ecx, 0xf7bbb82b
cmove eax, ecx
test dl, dl
cmovne eax, ebx
jmp 0x446d10
lea ecx, [esi + 0x50]
call fcn.0050a680
lea ecx, [esi + 0x20]
call fcn.004fd970
mov eax, 0x8f2b0a2c
jmp 0x446d10
lea ecx, [esi + 0x50]
call fcn.0050a680
lea ecx, [esi + 0x20]
call fcn.004fd970
mov eax, dword [0x597538]
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
xor eax, 0xfffffffe
test eax, ecx
sete cl
mov eax, 0xf7bbb82b
cmove eax, edi
cmp dword [0x59753c], 0xa
mov edx, 0xf7bbb82b
cmovge eax, edx
setl dl
xor dl, cl
cmovne eax, edi
jmp 0x446d10
lea ecx, [ebp + 0x10]
call fcn.004fd970
lea eax, [ebp + 8]
mov eax, dword [eax]
mov ecx, dword [esi + 0xc8]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret