Function at 0x5d1680
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x666a07
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x94
push ebx
push esi
mov esi, ecx
xor ebx, ebx
push edi
lea ecx, [esp + 0x78]
mov dword [esp + 0x74], ebx
call fcn.004c3d90
lea eax, [esp + 0x40]
mov ecx, esi
push eax
mov dword [esp + 0xac], 1
call fcn.005d1e10
lea ecx, [esi + 4]
mov byte [esp + 0xa8], 2
mov dword [esp + 0x70], ebx
mov dword [esp + 0x6c], ebx
mov edx, dword [ecx]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x30], edx
mov dword [esp + 0x60], ebx
mov eax, dword [ecx + 4]
mov dword [esp + 0x34], eax
mov edx, dword [ecx + 8]
mov dword [esp + 0x38], edx
mov eax, dword [ecx + 0xc]
mov ecx, dword [0x6ae94c]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x88]
mov dword [esp + 0x68], ecx
mov edx, ecx
push eax
mov ecx, esi
mov dword [esp + 0x60], edx
call fcn.005d1d50
push eax
lea ecx, [esp + 0x60]
call fcn.004aad40
mov edx, dword [esi]
lea eax, [esp + 0x58]
lea ecx, [esp + 0x50]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x58], 0x3f800000
mov dword [esp + 0x60], 0x3f800000
call dword [edx + 0x1c]
mov edx, dword [esi]
lea eax, [esp + 0x54]
lea ecx, [esp + 0x4c]
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x54], ebx
mov dword [esp + 0x5c], ebx
call dword [edx + 0x20]
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x24]
test eax, eax
je 0x5d1c15
mov eax, dword [esp + 0x40]
cmp eax, ebx
je 0x5d1c15
cmp dword [eax + 4], ebx
jle 0x5d1c15
mov edi, 0x6ee31c
mov eax, edi
mov dword [esp + 0x10], edi
test eax, eax
je 0x5d17a8
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], ecx
jmp 0x5d17ac
mov dword [esp + 0x14], ebx
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x7c]
call fcn.004c3f00
mov edi, str._re_W_n_n
mov edx, edi
mov dword [esp + 0x10], edi
test edx, edx
je 0x5d17d9
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], ecx
jmp 0x5d17dd
mov dword [esp + 0x14], ebx
mov ebx, 0x6e0e1c
mov eax, ebx
mov dword [esp + 0x20], ebx
test eax, eax
je 0x5d1800
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor edx, edx
mov dword [esp + 0x24], ecx
jmp 0x5d1806
xor edx, edx
mov dword [esp + 0x24], edx
mov ecx, ebx
mov dword [esp + 0x28], ebx
test ecx, ecx
je 0x5d1822
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x2c], ecx
jmp 0x5d1826
mov dword [esp + 0x2c], edx
mov eax, ebx
mov dword [esp + 0x18], ebx
test eax, eax
je 0x5d1842
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], ecx
jmp 0x5d1846
mov dword [esp + 0x1c], edx
fld dword [esp + 0x3c]
fsub dword [esp + 0x38]
lea ecx, [esp + 0x10]
lea edx, [esp + 0x20]
push ecx
lea eax, [esp + 0x2c]
sub esp, 8
lea ecx, [esp + 0x24]
fstp qword [esp]
fld dword [esp + 0x40]
fsub dword [esp + 0x3c]
push edx
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x50]
push eax
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x54]
push ecx
lea ecx, [esp + 0xa0]
sub esp, 8
fstp qword [esp]
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov esi, str._cm_n
mov edx, esi
mov dword [esp + 0x18], esi
test edx, edx
je 0x5d18ea
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor edx, edx
mov dword [esp + 0x1c], ecx
jmp 0x5d18f0
xor edx, edx
mov dword [esp + 0x1c], edx
mov eax, ebx
mov dword [esp + 0x28], ebx
test eax, eax
je 0x5d190c
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x2c], ecx
jmp 0x5d1910
mov dword [esp + 0x2c], edx
mov ecx, ebx
mov dword [esp + 0x20], ebx
test ecx, ecx
je 0x5d192c
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x24], ecx
jmp 0x5d1930
mov dword [esp + 0x24], edx
mov edi, str._0_0
mov eax, edi
mov dword [esp + 0x10], edi
test eax, eax
je 0x5d194f
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], ecx
jmp 0x5d1953
mov dword [esp + 0x14], edx
fld dword [esp + 0x38]
fadd dword [esp + 0x54]
lea ecx, [esp + 0x18]
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x24]
sub esp, 8
lea ecx, [esp + 0x1c]
fstp qword [esp]
fld dword [esp + 0x3c]
fadd dword [esp + 0x58]
push edx
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x70]
push eax
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x74]
push ecx
lea ecx, [esp + 0xa0]
sub esp, 8
fstp qword [esp]
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov edx, esi
mov dword [esp + 0x18], esi
test edx, edx
je 0x5d19f2
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
xor esi, esi
mov dword [esp + 0x1c], ecx
jmp 0x5d19f8
xor esi, esi
mov dword [esp + 0x1c], esi
mov eax, ebx
mov dword [esp + 0x28], ebx
test eax, eax
je 0x5d1a14
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x2c], ecx
jmp 0x5d1a18
mov dword [esp + 0x2c], esi
mov ecx, ebx
mov dword [esp + 0x20], ebx
test ecx, ecx
je 0x5d1a34
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x24], ecx
jmp 0x5d1a38
mov dword [esp + 0x24], esi
mov edx, ebx
mov dword [esp + 0x10], ebx
test edx, edx
je 0x5d1a54
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x14], ecx
jmp 0x5d1a58
mov dword [esp + 0x14], esi
mov eax, ebx
mov dword [esp + 0x44], ebx
test eax, eax
je 0x5d1a74
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x48], ecx
jmp 0x5d1a78
mov dword [esp + 0x48], esi
mov ecx, ebx
mov dword [esp + 0x30], ebx
test ecx, ecx
je 0x5d1a94
mov edi, ebx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x34], ecx
jmp 0x5d1a98
mov dword [esp + 0x34], esi
fld dword [esp + 0x70]
lea edx, [esp + 0x18]
lea eax, [esp + 0x28]
push edx
lea ecx, [esp + 0x24]
sub esp, 8
lea edx, [esp + 0x1c]
fstp qword [esp]
fld dword [esp + 0x78]
push eax
lea eax, [esp + 0x54]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x80]
push ecx
lea ecx, [esp + 0x4c]
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x88]
push edx
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x90]
push eax
sub esp, 8
fstp qword [esp]
fld dword [esp + 0x98]
push ecx
lea ecx, [esp + 0xb8]
sub esp, 8
fstp qword [esp]
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3fa0
mov ecx, eax
call fcn.004c3f00
mov edi, 0x6ee1a8
mov edx, edi
mov dword [esp + 0x30], edi
test edx, edx
je 0x5d1b76
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x34], ecx
jmp 0x5d1b7a
mov dword [esp + 0x34], esi
mov edi, str._Do_n
mov eax, edi
mov dword [esp + 0x44], edi
test eax, eax
je 0x5d1b99
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x48], ecx
jmp 0x5d1b9d
mov dword [esp + 0x48], esi
mov eax, dword [esp + 0x40]
cmp eax, esi
je 0x5d1bb5
lea ecx, [eax + 0xc]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x14], edx
jmp 0x5d1bbd
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], esi
mov edi, str.0_g_0_G_1_w__
mov eax, edi
mov dword [esp + 0x18], edi
test eax, eax
je 0x5d1bdc
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x1c], ecx
jmp 0x5d1be0
mov dword [esp + 0x1c], esi
lea ecx, [esp + 0x30]
lea edx, [esp + 0x44]
push ecx
lea eax, [esp + 0x14]
push edx
lea ecx, [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x88]
call fcn.004c3f00
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3f00
mov ecx, eax
call fcn.004c3f00
mov esi, dword [ebp + 8]
lea ecx, [esp + 0x78]
push esi
call fcn.004c3ed0
mov dword [esp + 0x74], 1
lea ecx, [esp + 0x40]
mov byte [esp + 0xa8], 1
call fcn.00498970
lea ecx, [esp + 0x78]
mov byte [esp + 0xa8], 0
call fcn.004c3db0
mov ecx, dword [esp + 0xa0]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4