Function at 0x4f90b688
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x20c
mov eax, dword [0x4f918454]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov ebx, 0x100
lea eax, [ebp - 0x104]
push ebx
xor esi, esi
mov edi, ecx
push esi
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp - 0x20c], ebx
push 0x4f9018d8
push edi
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
je 0x4f90b8fc
push edi
mov edx, ebx
lea ecx, [ebp - 0x204]
call fcn.4f903b61
test eax, eax
js 0x4f90b8fc
push 0x4f9018e0
mov edx, ebx
lea ecx, [ebp - 0x204]
call fcn.4f903b94
test eax, eax
js 0x4f90b8fc
lea eax, [ebp - 0x20c]
push eax
lea edx, [ebp - 0x104]
lea ecx, [ebp - 0x204]
call fcn.4f9137f3
test eax, eax
je 0x4f90b728
or eax, 0xffffffff
jmp 0x4f90b8fe
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFindAtomA]
movzx edi, ax
test di, di
je 0x4f90b765
mov ecx, dword [0x4f91880c]
xor edx, edx
inc edx
cmp ecx, edx
jl 0x4f90b765
push 0x2c
pop eax
cmp eax, 0x528
jae 0x4f90b765
cmp word [eax + 0x4f918b00], di
je 0x4f90b7c9
inc edx
add eax, 0x2c
cmp edx, ecx
jle 0x4f90b74d
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalAddAtomA]
mov ecx, dword [0x4f91880c]
xor ebx, ebx
inc ebx
movzx eax, ax
mov dword [ebp - 0x208], eax
cmp ecx, ebx
jl 0x4f90b7a3
push 0x2c
pop eax
cmp eax, 0x528
jae 0x4f90b7a3
cmp word [eax + 0x4f918b00], si
je 0x4f90b7eb
inc ebx
add eax, 0x2c
cmp ebx, ecx
jle 0x4f90b78b
mov ebx, dword [ebp - 0x208]
test bx, bx
je 0x4f90b7b5
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalDeleteAtom]
test esi, esi
je 0x4f90b720
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x4f90b720
imul eax, edx, 0x2c
mov ecx, edx
sub ecx, dword [0x4f9187fc]
inc dword [eax + 0x4f918b08]
neg ecx
mov eax, edx
sbb ecx, ecx
and dword [0x4f9187fc], ecx
jmp 0x4f90b8fe
cmp ebx, 0x1d
ja 0x4f90b7a3
lea eax, [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov esi, eax
test esi, esi
je 0x4f90b7a3
push 0x4f901904
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
imul edi, ebx, 0x2c
mov dword [edi + 0x4f918b0c], eax
test eax, eax
je 0x4f90b7a3
push 0x4f901918
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi + 0x4f918b10], eax
test eax, eax
je 0x4f90b7a3
push 0x4f90192c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi + 0x4f918b14], eax
test eax, eax
je 0x4f90b7a3
push 0x4f901944
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi + 0x4f918b18], eax
test eax, eax
je 0x4f90b7a3
push 0x4f90195c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi + 0x4f918b1c], eax
test eax, eax
je 0x4f90b7a3
push 0x4f901968
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi + 0x4f918b20], eax
test eax, eax
je 0x4f90b7a3
push 0x4f90197c
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [edi + 0x4f918b24], eax
test eax, eax
je 0x4f90b7a3
push 0x4f901994
push esi
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov ecx, dword [0x4f91880c]
mov dword [edi + 0x4f918b28], eax
mov eax, dword [ebp - 0x208]
mov word [edi + 0x4f918b00], ax
mov dword [edi + 0x4f918b08], 1
mov dword [edi + 0x4f918b04], esi
cmp ebx, ecx
jle 0x4f90b8f8
inc ecx
mov dword [0x4f91880c], ecx
mov eax, ebx
jmp 0x4f90b8fe
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.4f915360
leave
ret