Function at 0x46cb70
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
push ecx
push ebx
push esi
push edi
push 0x40fa18
mov esi, ecx
mov edi, 0x80004005
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esi + 0x18], eax
test eax, eax
je 0x46cef0
push 0x40fa30
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x20], eax
test eax, eax
jne 0x46cbe8
mov eax, dword [section..data]
cmp eax, section..data
je 0x46cf27
test byte [eax + 0x1c], 1
je 0x46cf27
cmp byte [eax + 0x19], 2
jb 0x46cf27
call fcn.0042386b
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xe
jmp 0x46cf1c
push 0x40fa4c
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x24], eax
test eax, eax
jne 0x46cc39
mov eax, dword [section..data]
cmp eax, section..data
je 0x46cf27
test byte [eax + 0x1c], 1
je 0x46cf27
cmp byte [eax + 0x19], 2
jb 0x46cf27
call fcn.0042386b
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0xf
jmp 0x46cf1c
push 0x40fa60
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x28], eax
test eax, eax
jne 0x46cc8a
mov eax, dword [section..data]
cmp eax, section..data
je 0x46cf27
test byte [eax + 0x1c], 1
je 0x46cf27
cmp byte [eax + 0x19], 2
jb 0x46cf27
call fcn.0042386b
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x10
jmp 0x46cf1c
push 0x40fa78
push dword [esi + 0x18]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x2c], eax
test eax, eax
jne 0x46ccdb
mov eax, dword [section..data]
cmp eax, section..data
je 0x46cf27
test byte [eax + 0x1c], 1
je 0x46cf27
cmp byte [eax + 0x19], 2
jb 0x46cf27
call fcn.0042386b
push eax
mov eax, dword [section..data]
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x11
jmp 0x46cf1c
push 0x40fa90
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov dword [esi + 0x1c], eax
test eax, eax
je 0x46cee8
push 0x40faa8
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x30], eax
mov edi, section..data
push 5
pop ebx
test eax, eax
jne 0x46cd3e
mov eax, dword [section..data]
cmp eax, edi
je 0x46cd3e
test byte [eax + 0x1c], 1
je 0x46cd3e
cmp byte [eax + 0x19], bl
jb 0x46cd3e
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x40fc08
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x13
pop ecx
call fcn.004238e7
push 0x40fac8
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x38], eax
test eax, eax
jne 0x46cd85
mov eax, dword [section..data]
cmp eax, edi
je 0x46cd85
test byte [eax + 0x1c], 1
je 0x46cd85
cmp byte [eax + 0x19], bl
jb 0x46cd85
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x40fc08
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x15
pop ecx
call fcn.004238e7
push 0x40fae4
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x3c], eax
test eax, eax
jne 0x46cdcc
mov eax, dword [section..data]
cmp eax, edi
je 0x46cdcc
test byte [eax + 0x1c], 1
je 0x46cdcc
cmp byte [eax + 0x19], bl
jb 0x46cdcc
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x40fc08
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x16
pop ecx
call fcn.004238e7
push 0x40faf4
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x40], eax
test eax, eax
jne 0x46ce13
mov eax, dword [section..data]
cmp eax, edi
je 0x46ce13
test byte [eax + 0x1c], 1
je 0x46ce13
cmp byte [eax + 0x19], bl
jb 0x46ce13
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x40fc08
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x17
pop ecx
call fcn.004238e7
push 0x40fb10
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x44], eax
test eax, eax
jne 0x46ce5a
mov eax, dword [section..data]
cmp eax, edi
je 0x46ce5a
test byte [eax + 0x1c], 1
je 0x46ce5a
cmp byte [eax + 0x19], bl
jb 0x46ce5a
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x40fc08
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x18
pop ecx
call fcn.004238e7
push 0x40fb28
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x48], eax
test eax, eax
jne 0x46cea1
mov eax, dword [section..data]
cmp eax, edi
je 0x46cea1
test byte [eax + 0x1c], 1
je 0x46cea1
cmp byte [eax + 0x19], bl
jb 0x46cea1
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x40fc08
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x19
pop ecx
call fcn.004238e7
push 0x40fb48
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [esi + 0x4c], eax
test eax, eax
jne 0x46cee8
mov eax, dword [section..data]
cmp eax, edi
je 0x46cee8
test byte [eax + 0x1c], 1
je 0x46cee8
cmp byte [eax + 0x19], bl
jb 0x46cee8
call fcn.0042386b
push eax
mov eax, dword [section..data]
mov edx, 0x40fc08
push dword [eax + 0x14]
push dword [eax + 0x10]
push 0x1a
pop ecx
call fcn.004238e7
or dword [esi + 0xc], 2
xor edi, edi
jmp 0x46cf27
mov eax, dword [section..data]
cmp eax, section..data
je 0x46cf27
test byte [eax + 0x1c], 1
je 0x46cf27
cmp byte [eax + 0x19], 5
jb 0x46cf27
call fcn.0042386b
mov ecx, dword [section..data]
push eax
push dword [ecx + 0x14]
push dword [ecx + 0x10]
push 0x12
mov edx, 0x40fc08
pop ecx
call fcn.004238e7
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret