Function at 0x100335b0
Capabilities:
Print debug messages

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x234
mov eax, dword [0x100e57c0]
xor eax, ebp
mov dword [ebp - 4], eax
xor eax, eax
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x21c], eax
push 0x48
mov ebx, ecx
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x22c], edi
mov dword [ebp - 0x224], 0xb
mov dword [ebp - 0x21c], 1
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
call fcn.1004b24c
add esp, 4
push edi
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x22c]
push eax
mov eax, dword [ebx + 0x18]
push 0x10
lea ecx, [ebp - 0x214]
push ecx
push 0x10
lea edx, [ebp - 0x224]
push edx
mov edx, dword [eax + 4]
push 0x220744
lea ecx, [ebx + 0x18]
call edx
mov ecx, eax
call fcn.100203f0
xor eax, eax
push edi
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], eax
lea eax, [ebp - 0x22c]
push eax
mov eax, dword [ebx + 0x18]
push 0x10
lea ecx, [ebp - 0x214]
push ecx
push 0x10
lea edx, [ebp - 0x224]
push edx
mov edx, dword [eax + 4]
push 0x220740
lea ecx, [ebx + 0x18]
mov dword [ebp - 0x224], 8
mov dword [ebp - 0x22c], edi
call edx
mov ecx, eax
call fcn.100203f0
mov edi, eax
mov eax, dword [ebx + 0x34]
mov ecx, dword [eax]
mov dword [eax], eax
mov eax, dword [ebx + 0x34]
mov dword [eax + 4], eax
mov dword [ebx + 0x38], 0
cmp ecx, dword [ebx + 0x34]
je 0x100336f7
mov esi, dword [ecx]
push ecx
call fcn.1004b207
add esp, 4
mov ecx, esi
cmp esi, dword [ebx + 0x34]
jne 0x100336e5
test edi, edi
js 0x10033950
cmp dword [ebp - 0x214], 8
jne 0x10033950
mov edi, dword [ebp - 0x20c]
lea esi, [edi + edi*2]
add esi, esi
xor ecx, ecx
add esi, esi
mov eax, edi
mov edx, 0x18
add esi, esi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1004a7bc
push esi
xor edi, edi
push edi
push eax
mov dword [ebx + 0x44], eax
call fcn.1004bb60
mov eax, dword [ebx + 0x44]
mov edx, dword [ebx + 0x18]
add esp, 0x10
push edi
lea ecx, [ebp - 0x22c]
push ecx
push esi
push eax
push esi
lea ecx, [ebx + 0x18]
push eax
mov eax, dword [edx + 4]
push 0x220754
call eax
mov ecx, eax
call fcn.100203f0
cmp eax, edi
jl 0x10033977
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x228], edi
cmp ecx, edi
jbe 0x10033810
mov ecx, dword [ebx + 0x44]
add ecx, edi
push ecx
push 0xffff
mov ecx, ebx
call fcn.10033460
mov esi, eax
test esi, esi
je 0x100337a5
mov edx, dword [esi]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebx + 0x44]
mov edx, dword [edi + ecx + 8]
lea eax, [edi + ecx]
mov ecx, dword [eax + 4]
push edx
mov eax, ecx
shr eax, 0x18
and eax, 0xf
push eax
push ecx
mov ecx, dword [ebp - 0x228]
push ecx
lea edx, [ebp - 0x204]
push str._n__Jack__d_Jack_Location_Returned_by_driver_0x_x_jack_location__d__Jack_Type__d
push edx
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x18
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
test esi, esi
je 0x100337f2
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x20c]
inc eax
add edi, 0x18
mov dword [ebp - 0x228], eax
cmp eax, ecx
jb 0x10033785
mov dword [ebp - 0x234], 0
test ecx, ecx
je 0x10033962
mov dword [ebp - 0x228], 0
lea esp, [esp]
mov edi, dword [ebp - 0x230]
test edi, edi
je 0x1003392e
push 0x48
push 0
push edi
call fcn.1004bb60
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebp - 0x228]
mov edx, dword [ecx + eax]
push edx
push 0x1006e57c
push edi
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, str.___Jack_State
add esp, 0x18
mov ecx, eax
jmp 0x10033870
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x10033870
sub eax, ecx
mov esi, ecx
add edi, 0xfffffffe
mov cx, word [edi + 2]
add edi, 2
test cx, cx
jne 0x10033882
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
push 0
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebp - 0x230]
lea eax, [ebp - 0x22c]
push eax
push 0x48
push esi
push 0x48
mov dword [esi + 0x40], 4
mov edx, dword [ebx + 0x18]
mov eax, dword [edx + 4]
push esi
push 0x220764
lea ecx, [ebx + 0x18]
call eax
mov ecx, eax
call fcn.100203f0
test eax, eax
jns 0x1003392e
push str.CxHDAudioJackConfigEnumerator::Enumerate__:IOCTL_SOUNDSOURCE_GET_APP_DATA_failed__n
call fcn.1003b660
mov ecx, dword [ebx + 0x44]
mov edx, dword [ebp - 0x228]
mov eax, dword [edx + ecx + 0x10]
add esp, 4
push 0
lea ecx, [ebp - 0x22c]
push ecx
push 0
shr eax, 9
push 0
and eax, 1
push 0x48
mov dword [esi + 0x44], eax
mov edx, dword [ebx + 0x18]
mov eax, dword [edx + 4]
push esi
push 0x220760
lea ecx, [ebx + 0x18]
call eax
mov ecx, eax
call fcn.100203f0
test eax, eax
jns 0x1003392e
push str.CxHDAudioJackConfigEnumerator::Enumerate__:IOCTL_SOUNDSOURCE_SAVE_APP_DATA_failed__n
call fcn.1003b660
add esp, 4
mov eax, dword [ebp - 0x234]
add dword [ebp - 0x228], 0x18
inc eax
mov dword [ebp - 0x234], eax
cmp eax, dword [ebp - 0x20c]
jb 0x10033830
jmp 0x10033962
xor esi, esi
push 0
push esi
mov ecx, ebx
call fcn.10033460
inc esi
cmp esi, 3
jl 0x10033952
mov eax, dword [ebp - 0x230]
test eax, eax
je 0x10033975
push eax
call fcn.1004b212
add esp, 4
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1004bb49
mov esp, ebp
pop ebp
ret