Function at 0x4cada0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x63114a
mov eax, dword fs:[0]
push eax
sub esp, 0x488
mov eax, dword [0x693a90]
xor eax, esp
mov dword [esp + 0x480], eax
push ebx
push esi
push edi
mov eax, dword [0x693a90]
xor eax, esp
push eax
lea eax, [esp + 0x498]
mov dword fs:[0], eax
xor bl, bl
mov dword [esp + 0x4a0], 0
mov esi, dword [0x6c6500]
test esi, esi
jne 0x4cae32
push 0x10
call fcn.004cdf52
mov esi, eax
add esp, 4
test esi, esi
je 0x4cae24
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
jmp 0x4cae26
xor esi, esi
mov dword [0x6c6500], esi
mov dword [0x6c654c], esi
cmp dword [esi], 0
jne 0x4cae89
lea ecx, [esp + 0xf0]
mov byte [esp + 0x4a0], 1
call fcn.0042e950
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [esi], eax
mov byte [esp + 0x4a0], 0
mov ecx, 0xd
lea eax, [esp + 0xf0]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cae68
mov ecx, 0x1a
lea eax, [esp + 0xfe]
lea ecx, [ecx]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cae80
mov esi, dword [esi]
lea ecx, [esp + 0x208]
call fcn.004a59a0
mov edi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
push esi
call edi
push 0x104
lea ecx, [esp + 0x388]
push ecx
call eax
mov esi, dword [0x6c6500]
test esi, esi
jne 0x4caef5
push 0x10
call fcn.004cdf52
mov esi, eax
add esp, 4
test esi, esi
je 0x4caee7
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi + 0xc], 0
jmp 0x4caee9
xor esi, esi
mov dword [0x6c6500], esi
mov dword [0x6c654c], esi
cmp dword [esi + 0xc], 0
jne 0x4caf49
lea ecx, [esp + 0x7c]
mov byte [esp + 0x4a0], 2
call fcn.0042c240
mov ecx, eax
call fcn.004cce00
mov dword [esi + 0xc], eax
mov byte [esp + 0x4a0], 0
mov ecx, 0xc
lea eax, [esp + 0x7c]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4caf27
mov ecx, 0x18
lea eax, [esp + 0x88]
lea esp, [esp]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4caf40
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x4caf57
xor bl, bl
jmp 0x4cb46e
lea ecx, [esp + 0x188]
mov byte [esp + 0x4a0], 3
call fcn.00484450
push eax
push esi
call edi
mov esi, eax
test esi, esi
jne 0x4caf7c
xor bl, bl
jmp 0x4cb43e
lea ecx, [esp + 0xa0]
mov byte [esp + 0x4a0], 4
call fcn.004b0d90
push eax
lea eax, [esp + 0x388]
push eax
call esi
mov ecx, 0xd
lea eax, [esp + 0xa0]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cafa7
mov ecx, 0x1a
lea eax, [esp + 0xae]
lea esp, [esp]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cafc0
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x4a0], 5
call fcn.004a6cf0
push eax
call fcn.004cdd70
mov ecx, eax
call fcn.004cddc0
push eax
call edi
mov esi, eax
lea ecx, [esp + 0x1ac]
mov byte [esp + 0x4a0], 6
call fcn.004a7920
push eax
call fcn.004cdd70
mov ecx, eax
call fcn.004cddc0
push eax
call edi
mov edi, eax
test esi, esi
je 0x4cb3db
test edi, edi
je 0x4cb3db
lea eax, [esp + 0x244]
push eax
lea eax, [esp + 0x388]
push eax
call esi
mov esi, eax
cmp esi, 0xffffffff
je 0x4cb3db
lea eax, [esp + 0x244]
push eax
push esi
call edi
test eax, eax
je 0x4cb37b
jmp 0x4cb060
lea ecx, [esp + 0x34]
mov byte [esp + 0x4a0], 7
call fcn.004b20e0
push eax
call fcn.005e9cb6
mov cl, byte [esp + 0x274]
add esp, 4
lea edx, [esp + 0x270]
cmp cl, byte [eax]
jne 0x4cb09d
lea esp, [esp]
test cl, cl
je 0x4cb09d
mov cl, byte [edx + 1]
inc edx
inc eax
cmp cl, byte [eax]
je 0x4cb090
movsx ecx, byte [edx]
movsx eax, byte [eax]
sub ecx, eax
sete dl
mov ecx, 0xb
lea eax, [esp + 0x34]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb0b1
mov ecx, 0x16
lea eax, [esp + 0x40]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb0c3
movzx ebx, bl
test dl, dl
mov eax, 1
cmovne ebx, eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x4a0], 8
call fcn.004b3130
push eax
call fcn.005e9cb6
mov cl, byte [esp + 0x274]
add esp, 4
lea edx, [esp + 0x270]
cmp cl, byte [eax]
jne 0x4cb112
test cl, cl
je 0x4cb112
mov cl, byte [edx + 1]
inc edx
inc eax
cmp cl, byte [eax]
je 0x4cb105
movsx ecx, byte [edx]
movsx eax, byte [eax]
sub ecx, eax
sete dl
mov ecx, 0xa
lea eax, [esp + 0x14]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb126
mov ecx, 0x14
lea eax, [esp + 0x1e]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb138
movzx ebx, bl
test dl, dl
mov eax, 1
cmovne ebx, eax
lea ecx, [esp + 0x140]
mov byte [esp + 0x4a0], 9
call fcn.004b4490
push eax
call fcn.005e9cb6
mov cl, byte [esp + 0x274]
add esp, 4
lea edx, [esp + 0x270]
cmp cl, byte [eax]
jne 0x4cb18d
lea ecx, [ecx]
test cl, cl
je 0x4cb18d
mov cl, byte [edx + 1]
inc edx
inc eax
cmp cl, byte [eax]
je 0x4cb180
movsx ecx, byte [edx]
movsx eax, byte [eax]
sub ecx, eax
sete dl
mov ecx, 0xd
lea eax, [esp + 0x140]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb1a4
mov ecx, 0x1a
lea eax, [esp + 0x14e]
lea esp, [esp]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb1c0
movzx ebx, bl
test dl, dl
mov eax, 1
cmovne ebx, eax
lea ecx, [esp + 0x118]
mov byte [esp + 0x4a0], 0xa
call fcn.004b5390
push eax
call fcn.005e9cb6
mov cl, byte [esp + 0x274]
add esp, 4
lea edx, [esp + 0x270]
cmp cl, byte [eax]
jne 0x4cb212
test cl, cl
je 0x4cb212
mov cl, byte [edx + 1]
inc edx
inc eax
cmp cl, byte [eax]
je 0x4cb205
movsx ecx, byte [edx]
movsx eax, byte [eax]
sub ecx, eax
sete dl
mov ecx, 0xd
lea eax, [esp + 0x118]
lea esp, [esp]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb230
mov ecx, 0x1a
lea eax, [esp + 0x126]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb245
movzx ebx, bl
test dl, dl
mov eax, 1
cmovne ebx, eax
lea ecx, [esp + 0xc8]
mov byte [esp + 0x4a0], 0xb
call fcn.004b6840
push eax
call fcn.005e9cb6
mov cl, byte [esp + 0x274]
add esp, 4
lea edx, [esp + 0x270]
cmp cl, byte [eax]
jne 0x4cb29d
lea ebx, [ebx]
test cl, cl
je 0x4cb29d
mov cl, byte [edx + 1]
inc edx
inc eax
cmp cl, byte [eax]
je 0x4cb290
movsx ecx, byte [edx]
movsx eax, byte [eax]
sub ecx, eax
sete dl
mov ecx, 0xd
lea eax, [esp + 0xc8]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb2b4
mov ecx, 0x1a
lea eax, [esp + 0xd6]
lea esp, [esp]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb2d0
movzx ebx, bl
test dl, dl
mov eax, 1
cmovne ebx, eax
lea ecx, [esp + 0x58]
mov byte [esp + 0x4a0], 0xc
call fcn.004b7190
push eax
call fcn.005e9cb6
mov cl, byte [esp + 0x274]
add esp, 4
lea edx, [esp + 0x270]
cmp cl, byte [eax]
jne 0x4cb31f
test cl, cl
je 0x4cb31f
mov cl, byte [edx + 1]
inc edx
inc eax
cmp cl, byte [eax]
je 0x4cb312
movsx ecx, byte [edx]
movsx eax, byte [eax]
sub ecx, eax
sete dl
mov byte [esp + 0x4a0], 6
mov ecx, 0xb
lea eax, [esp + 0x58]
jmp 0x4cb340
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb340
mov ecx, 0x16
lea eax, [esp + 0x64]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb352
movzx ebx, bl
test dl, dl
mov eax, 1
cmovne ebx, eax
lea eax, [esp + 0x244]
push eax
push esi
call edi
test eax, eax
jne 0x4cb060
lea ecx, [esp + 0x168]
mov byte [esp + 0x4a0], 0xd
call fcn.004a8540
push eax
call fcn.004cdd70
mov ecx, eax
call fcn.004cddc0
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
je 0x4cb3aa
push esi
call eax
mov ecx, 0xa
lea eax, [esp + 0x168]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb3b6
mov ecx, 0x14
lea eax, [esp + 0x172]
jmp 0x4cb3d0
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb3d0
jmp 0x4cb3dd
xor bl, bl
mov ecx, 0xe
lea eax, [esp + 0x1ac]
lea esp, [esp]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb3f0
mov ecx, 0x1c
lea eax, [esp + 0x1ba]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb405
mov ecx, 0xf
lea eax, [esp + 0x1d8]
lea ebx, [ebx]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb420
mov ecx, 0x1e
lea eax, [esp + 0x1e8]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb435
mov ecx, 0xc
lea eax, [esp + 0x188]
lea ebx, [ebx]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb450
mov ecx, 0x18
lea eax, [esp + 0x194]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb465
mov ecx, 0x14
lea eax, [esp + 0x208]
lea ebx, [ebx]
mov byte [eax], 0
lea eax, [eax + 1]
dec ecx
jne 0x4cb480
mov edx, 0x28
lea ecx, [esp + 0x21c]
mov byte [ecx], 0
lea ecx, [ecx + 1]
dec edx
jne 0x4cb495
mov al, bl
mov ecx, dword [esp + 0x498]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x480]
xor ecx, esp
call fcn.005e72d5
mov esp, ebp
pop ebp
ret