Function at 0x10167730
Capabilities:
Print debug messages

Disassembly:
sub esp, 0x5f4
mov cl, byte [0x10248ea9]
xor dx, dx
mov al, cl
or al, 0xd
mov dl, al
mov eax, dword [esp + 0x604]
mov word [esp + 0xc], dx
mov al, byte [eax + 0x7c]
cmp al, 3
jne 0x10167764
xor ax, ax
mov al, cl
or eax, 0x60d
jmp 0x10167772
cmp al, 6
jb 0x10167776
xor ax, ax
mov al, cl
or eax, 0x30f
mov dword [esp + 0xc], eax
push ebx
push ebp
push esi
push edi
xor ecx, ecx
mov eax, ecx
lea edi, [esp + ecx*4 + 0x28]
shr eax, 1
cmp eax, 1
jb 0x10167791
mov dword [edi], 0x80
jmp 0x10167797
mov dword [edi], 0x40
cmp eax, 4
jb 0x101677b6
mov edx, ecx
mov esi, 0x4000
and edx, 1
lea eax, [edx + eax*4 + 0x1fffc]
shl eax, 0xf
mov dword [esp + ecx*4 + 0x70], eax
jmp 0x101677e4
cmp eax, 1
mov edx, ecx
jb 0x101677d5
and edx, 1
mov esi, 0x8000
lea eax, [edx + eax*2 + 0xfffe]
shl eax, 0x10
mov dword [esp + ecx*4 + 0x70], eax
jmp 0x101677e4
and edx, 1
mov esi, 0x10000
shl edx, 0x11
mov dword [esp + ecx*4 + 0x70], edx
mov eax, esi
xor edx, edx
div dword [edi]
mov bl, cl
and ebx, 1
add ebx, eax
mov dword [esp + ecx*4 + 0xb8], ebx
inc ecx
cmp ecx, 0x12
jb 0x1016777c
mov edi, dword [esp + 0x60c]
xor ebx, ebx
mov ecx, 6
xor eax, eax
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov ebp, dword [esp + ebx*4 + 0x70]
mov ecx, dword [esp + 0x610]
mov esi, dword [esp + ebx*4 + 0xb8]
add ebp, ecx
test bl, 1
mov dword [esp + 0x14], esi
mov byte [esp + 0x18], 0
je 0x1016783d
mov byte [esp + 0x18], 2
test esi, esi
je 0x101678f6
jmp 0x1016784b
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x614]
mov cl, byte [eax + 0x10b]
test cl, cl
jne 0x101679bb
cmp esi, 0x200
jb 0x1016786d
mov esi, 0x200
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x204]
lea edx, [esp + 0x204]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x608]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x1c]
push edx
mov dx, word [esp + ebx*4 + 0x30]
push eax
push ecx
push edx
push esi
push ebp
call sym.ITEuDllvMgr.dll_VDR_BadTFindRead
add esp, 0x1c
cmp eax, 1
jne 0x101679bb
lea eax, [esp + 0x204]
push eax
call sym.ITEuDllvMgr.dll_SwapDWORD
add esp, 4
test eax, eax
jne 0x10167905
mov ecx, dword [esp + 0x14]
mov al, byte [esp + 0x18]
sub ecx, esi
cmp al, 2
mov dword [esp + 0x14], ecx
jne 0x101678e1
mov ecx, dword [esp + ebx*4 + 0x28]
imul ecx, esi
sub ebp, ecx
jmp 0x101678ea
mov edx, dword [esp + ebx*4 + 0x28]
imul edx, esi
add ebp, edx
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x10167847
inc ebx
cmp ebx, 0x12
jae 0x101679bb
jmp 0x10167816
lea eax, [esp + 0x208]
push eax
call sym.ITEuDllvMgr.dll_SwapDWORD
mov ebp, dword [esp + 0x614]
lea ecx, [esp + 0x24]
mov esi, eax
lea edx, [esp + 0x28]
push ecx
lea eax, [esp + 0x1b]
push edx
mov edx, dword [esp + 0x620]
lea ecx, [esp + 0x2f]
add esi, ebp
push eax
push ecx
push esi
push edx
call sym.ITEuDllvMgr.dll_RawAddress2CCBAddress
mov edi, dword [esp + 0x628]
mov al, byte [esp + 0x2f]
mov ecx, dword [esp + 0x40]
mov dx, word [esp + 0x3c]
mov byte [edi + 0x18], al
lea eax, [esp + 0x22c]
push eax
mov dword [edi + 4], ecx
mov word [edi], dx
call sym.ITEuDllvMgr.dll_SwapWORD
mov word [edi + 0x14], ax
mov dword [edi + 0xc], esi
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x120]
add esp, 0x20
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x100]
push ecx
push str._SearchBadTBlk_:_Find_BadTable_block0x_lx._n
push edx
call fcn.1003399c
add esp, 0xc
lea eax, [esp + 0x100]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x5f4
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x5f4
ret