Function at 0x406db0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x34
push ebx
push ebp
push esi
mov esi, ecx
push edi
lea ebp, [esi + 0x2c]
mov ecx, ebp
call fcn.00413d60
mov eax, dword [esi + 0xfc0]
xor edi, edi
cmp eax, edi
mov byte [esp + 0x13], 0
je 0x406ffd
cmp eax, 0xb
je 0x406ff5
mov cl, byte [esi + 0x10a5]
test cl, cl
je 0x406e19
cmp eax, 1
je 0x406e09
cmp eax, 2
je 0x406e09
cmp eax, 3
je 0x406e09
cmp eax, 7
je 0x406e09
cmp eax, 8
je 0x406e09
cmp eax, 5
jne 0x406e15
mov ecx, ebp
call fcn.00413850
jmp 0x40702f
test cl, cl
jne 0x406e4f
cmp eax, 1
je 0x406e37
cmp eax, 2
je 0x406e37
cmp eax, 3
je 0x406e37
cmp eax, 7
je 0x406e37
cmp eax, 8
je 0x406e37
cmp eax, 5
jne 0x406e47
mov ecx, ebp
call fcn.00413a60
mov byte [esp + 0x13], al
jmp 0x40702f
test cl, cl
je 0x406f17
cmp eax, 9
jne 0x406ead
mov ecx, ebp
call fcn.00413850
lea ecx, [esi + 0xd8]
call fcn.004131b0
lea ecx, [esi + 0xb0]
call fcn.004131b0
lea ecx, [esi + 0x128]
call fcn.004145d0
lea ecx, [esi + 0x78]
call fcn.00412c50
mov ecx, esi
call fcn.00406c20
lea ecx, [esi + 0x168]
call fcn.004113e0
mov ecx, esi
call fcn.00406ac0
mov ecx, esi
call fcn.00408b00
mov byte [esp + 0x13], al
jmp 0x407071
test cl, cl
je 0x406f17
cmp eax, 0xa
jne 0x406f0f
mov ecx, ebp
call fcn.00413850
lea ecx, [esi + 0xd8]
call fcn.004131b0
lea ecx, [esi + 0xb0]
call fcn.004131b0
lea ecx, [esi + 0x128]
call fcn.004145d0
lea ecx, [esi + 0x78]
call fcn.00412c50
mov ecx, esi
call fcn.00406c20
lea ecx, [esi + 0x168]
call fcn.004113e0
mov ecx, esi
call fcn.00406ac0
mov ecx, esi
call fcn.00409130
mov byte [esp + 0x13], al
jmp 0x407071
test cl, cl
jne 0x406fbb
cmp eax, 9
jne 0x406f67
mov ecx, ebp
call fcn.00413960
lea ecx, [esi + 0xd8]
mov bl, al
call fcn.004131b0
lea ecx, [esi + 0xb0]
call fcn.004131b0
lea ecx, [esi + 0x128]
call fcn.004145d0
lea ecx, [esi + 0x78]
call fcn.00412c50
mov ecx, esi
call fcn.00406c20
mov ecx, esi
call fcn.00409610
or bl, al
mov byte [esp + 0x13], bl
jmp 0x40705f
test cl, cl
jne 0x406fbb
cmp eax, 0xa
jne 0x406fb7
mov ecx, ebp
call fcn.00413850
lea ecx, [esi + 0xd8]
call fcn.004131b0
lea ecx, [esi + 0xb0]
call fcn.004131b0
lea ecx, [esi + 0x128]
call fcn.004145d0
lea ecx, [esi + 0x78]
call fcn.00412c50
mov ecx, esi
call fcn.00406c20
mov ecx, esi
call fcn.00409bc0
mov byte [esp + 0x13], al
jmp 0x40705f
test cl, cl
je 0x406fda
cmp eax, 4
je 0x406fc5
cmp eax, 6
jne 0x406fd2
mov ecx, ebp
call fcn.00413c60
mov byte [esp + 0x13], al
jmp 0x40702f
test cl, cl
jne 0x407071
cmp eax, 4
je 0x406fe8
cmp eax, 6
jne 0x407071
mov ecx, ebp
call fcn.00413b60
mov byte [esp + 0x13], al
jmp 0x40702f
cmp eax, edi
jne 0x40726d
mov cl, byte [esi + 0x10b0]
test cl, cl
je 0x40719e
mov ecx, ebp
call fcn.00413c60
test al, al
mov byte [esp + 0x13], al
jne 0x40702f
mov byte [esi + 0x10b0], 0
mov byte [esi + 0x10b1], 0
mov byte [0x431278], 0
lea ecx, [esi + 0xd8]
call fcn.004131b0
lea ecx, [esi + 0xb0]
call fcn.004131b0
lea ecx, [esi + 0x128]
call fcn.004145d0
lea ecx, [esi + 0x78]
call fcn.00412c50
mov ecx, esi
call fcn.00406c20
lea ecx, [esi + 0x168]
call fcn.004113e0
mov ecx, esi
call fcn.00406ac0
lea ecx, [esi + 0x4e8]
call fcn.00412c50
lea ecx, [esi + 0x520]
call fcn.00412c50
lea edi, [esi + 0x558]
mov ebx, 5
mov ecx, edi
call fcn.00412500
mov dl, byte [esp + 0x13]
add edi, 0x34
or dl, al
dec ebx
mov byte [esp + 0x13], dl
jne 0x407092
lea edi, [esi + 0x6ac]
mov ebx, 6
mov ecx, edi
call fcn.00411f90
add edi, 0x28
dec ebx
jne 0x4070b4
lea ecx, [esi + 0x684]
call fcn.00412f00
lea ecx, [esi + 0x7a8]
call fcn.00412ad0
mov bl, byte [esp + 0x13]
test bl, bl
jne 0x4070e6
mov ecx, ebp
call fcn.00413d80
mov al, byte [esi + 0x10c4]
test al, al
je 0x407279
mov eax, dword [esi + 0x1160]
mov edi, 0x15c
push 0
push 0
lea ecx, [eax + eax*2]
push 0x190
lea edx, [eax + ecx*4]
lea ecx, [esi + 0x1164]
shl edx, 1
sub edi, edx
mov dword [esp + 0x24], ecx
mov edx, edi
call fcn.0040fdb0
add edi, 0x34
lea eax, [esi + 0x10c8]
xor ebp, ebp
mov dword [esp + 0x14], eax
lea ebx, [edi + 4]
mov ecx, dword [esp + 0x14]
cmp dword [ecx], 0
je 0x40716d
mov ecx, dword [esp + 0x18]
push 0
push 1
push 0x190
mov edx, edi
call fcn.0040fdb0
push 0
push ebp
push 0x19d
mov edx, ebx
lea ecx, [esi + 0x7c8]
call fcn.0040fdb0
add edi, 0x34
add ebx, 0x34
mov ecx, dword [esp + 0x14]
inc ebp
add ecx, 4
cmp ebp, 0x26
mov dword [esp + 0x14], ecx
jl 0x407135
mov ecx, dword [esp + 0x18]
push 0
push 2
push 0x190
mov edx, edi
call fcn.0040fdb0
mov al, byte [esp + 0x13]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
cmp eax, edi
jne 0x40726d
mov al, byte [esi + 0x10b1]
test al, al
je 0x40726d
mov al, byte [0x431278]
test al, al
jne 0x407261
mov eax, dword [str.0123456789abcdefg]
mov ecx, dword [0x42f524]
mov edx, dword [0x42f528]
mov dword [esp + 0x1c], eax
mov eax, dword [0x42f52c]
mov dword [esp + 0x20], ecx
mov cx, word [0x42f530]
mov dword [esp + 0x28], eax
mov eax, dword [0x42f588]
mov dword [esp + 0x24], edx
mov edx, dword [str.pwavx_tingx.wav]
mov word [esp + 0x2c], cx
mov ecx, dword [0x42f58c]
mov dword [esp + 0x34], eax
mov eax, dword [0x42fa1c]
mov word [esp + 0x2e], di
mov dword [esp + 0x30], edx
mov edx, dword [0x42f590]
mov dword [esp + 0x38], ecx
mov cl, byte [esp + eax + 0x1c]
mov byte [0x431278], 1
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edi
mov byte [esp + 0x34], cl
call dword [sym.imp.KERNEL32.dll_GetTickCount]
and eax, 3
push 0x64
mov dl, byte [esp + eax + 0x20]
add eax, 0xc
mov dword [0x42fa18], eax
lea eax, [esp + 0x34]
push eax
push edi
push edi
mov byte [esp + 0x4a], dl
call fcn.0040f8d0
add esp, 0x10
mov ecx, ebp
call fcn.00413b60
jmp 0x407012
mov ecx, ebp
call fcn.00413850
jmp 0x40701a
pop edi
pop esi
mov al, bl
pop ebp
pop ebx
add esp, 0x34
ret