Function at 0x10a5b04
Capabilities:
Link many functions at runtime

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
mov eax, 0x5160
call fcn.01077950
mov eax, dword [0x10de03c]
push esi
push edi
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
xor edi, edi
cmp dword [0x10eccfc], edi
mov dword [ebp - 0x5160], eax
jne 0x10a5de5
call fcn.01099ebd
test ax, ax
jne 0x10a5de5
cmp dword [0x10ecaec], edi
mov eax, dword [0x10ecae8]
jne 0x10a5c5c
cmp eax, edi
jne 0x10a5c26
push 0x1004a34
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
cmp eax, edi
mov dword [0x10ecaec], eax
je 0x10a5c19
push 1
push 0x20
call dword [sym.imp.msvcrt.dll_calloc]
cmp eax, edi
pop ecx
pop ecx
mov dword [0x10ecae8], eax
je 0x10a5def
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push 0x1004a14
mov dword [eax + 4], edi
push dword [0x10ecaec]
call esi
mov ecx, dword [0x10ecae8]
push 0x10049f4
mov dword [ecx + 8], eax
push dword [0x10ecaec]
call esi
mov ecx, dword [0x10ecae8]
push 0x10049d4
mov dword [ecx + 0xc], eax
push dword [0x10ecaec]
call esi
mov ecx, dword [0x10ecae8]
push 0x10049b4
mov dword [ecx + 0x10], eax
push dword [0x10ecaec]
call esi
mov ecx, dword [0x10ecae8]
push 0x1004990
mov dword [ecx + 0x14], eax
push dword [0x10ecaec]
call esi
mov ecx, dword [0x10ecae8]
push 0x1004944
mov dword [ecx + 0x18], eax
push dword [0x10ecaec]
call esi
mov ecx, dword [0x10ecae8]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x10ecae8]
cmp eax, edi
je 0x10a5def
cmp dword [eax + 8], edi
je 0x10a5def
cmp dword [eax + 0xc], edi
je 0x10a5def
cmp dword [eax + 0x10], edi
je 0x10a5def
cmp dword [eax + 0x14], edi
je 0x10a5def
cmp dword [eax + 0x18], edi
je 0x10a5def
cmp dword [eax + 0x1c], edi
je 0x10a5def
lea ecx, [ebp - 0x514c]
push ecx
push GetTapeStatus
mov dword [ebp - 0x5148], edi
push dword [eax + 4]
call dword [eax + 8]
test eax, eax
jne 0x10a5def
push dword [ebp - 0x514c]
mov eax, dword [0x10ecae8]
mov dword [ebp - 0x5154], edi
call dword [eax + reloc.KERNEL32.dll_LoadLibraryW]
test eax, eax
jne 0x10a5dd0
mov esi, dword [sym.imp.msvcrt.dll_wcslen]
push ebx
lea eax, [ebp - 0x5158]
push eax
push dword [ebp - 0x5154]
mov eax, dword [0x10ecae8]
push dword [ebp - 0x514c]
call dword [eax + 0x14]
mov ebx, eax
cmp ebx, edi
jne 0x10a5d24
lea eax, [ebp - 0x515c]
push eax
push dword [ebp - 0x5158]
mov eax, dword [0x10ecae8]
push dword [ebp - 0x514c]
call dword [eax + 0x18]
mov ebx, eax
cmp ebx, edi
jne 0x10a5d24
mov eax, 0x28a0
mov dword [ebp - 0x5148], eax
mov dword [ebp - 0x5150], eax
lea eax, [ebp - 0x28a4]
push eax
lea eax, [ebp - 0x5150]
push eax
lea eax, [ebp - 0x5144]
push eax
lea eax, [ebp - 0x5148]
push eax
push dword [ebp - 0x5158]
mov eax, dword [0x10ecae8]
push dword [ebp - 0x514c]
call dword [eax + reloc.KERNEL32.dll_GetLocaleInfoW]
mov ebx, eax
lea edi, [ebp - 0x5144]
jmp 0x10a5d68
test ebx, ebx
jne 0x10a5d71
push ebx
push edi
push dword [ebp - 0x515c]
push dword [ebp - 0x5160]
call fcn.010a58a7
push edi
movsx ebx, ax
call esi
mov ecx, WaitForSingleObject
sub ecx, eax
mov eax, dword [ebp - 0x5148]
lea eax, [eax + ecx*2]
push edi
mov dword [ebp - 0x5148], eax
call esi
pop ecx
pop ecx
lea edi, [edi + eax*2 + 2]
cmp dword [ebp - 0x5148], 2
ja 0x10a5d2c
lea edi, [ebp - 0x28a4]
jmp 0x10a5db6
test ebx, ebx
jne 0x10a5dbf
push 1
push edi
push dword [ebp - 0x515c]
push dword [ebp - 0x5160]
call fcn.010a58a7
push edi
movsx ebx, ax
call esi
mov ecx, WaitForSingleObject
sub ecx, eax
mov eax, dword [ebp - 0x5150]
lea eax, [eax + ecx*2]
push edi
mov dword [ebp - 0x5150], eax
call esi
pop ecx
pop ecx
lea edi, [edi + eax*2 + 2]
cmp dword [ebp - 0x5150], 2
ja 0x10a5d79
inc dword [ebp - 0x5154]
xor edi, edi
test ebx, ebx
je 0x10a5c9f
pop ebx
push edi
push edi
push edi
push edi
lea eax, [ebp - 0x514c]
push eax
mov eax, dword [0x10ecae8]
call dword [eax + 0xc]
jmp 0x10a5def
mov dword [0x10eccfc], 1
mov ecx, dword [ebp - 4]
pop edi
pop esi
call fcn.01075aef
leave
ret 4