Function at 0x4323d0
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x54f0b0
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5ab720]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x14], edi
mov ecx, dword [edi + 4]
xor esi, esi
cmp ecx, esi
je 0x432421
mov eax, dword [ecx]
mov edx, dword [eax + 0x58]
call edx
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
cmp dword [edi + 8], esi
je 0x4330a6
call fcn.00432310
mov eax, dword [edi + 8]
mov edx, 8
test byte [eax + 8], dl
je 0x43247d
mov eax, dword [eax + 0x19bc]
cmp eax, esi
je 0x43247d
cmp eax, esi
mov ecx, eax
je 0x432472
mov ecx, dword [ecx + 8]
cmp ecx, esi
mov eax, dword [eax]
je 0x43246c
cmp dword [ecx + 0x78], edx
jne 0x43246c
cmp dword [ecx + 0x24], esi
jne 0x43246c
mov ecx, dword [ecx + 0x80]
mov ecx, dword [ecx + 8]
cmp ecx, esi
jne 0x432477
cmp eax, esi
jne 0x432446
jmp 0x43247d
jmp fcn.00504221
mov dword [ecx + 0x1c], esi
mov dword [ecx + 0x18], esi
mov eax, dword [edi + 8]
mov ecx, dword [eax + 8]
test cl, 0x20
jne 0x432494
test ecx, 0x800
je 0x432555
mov ebp, dword [eax + 0x19bc]
cmp ebp, esi
mov dword [esp + 0x1c], esi
je 0x432555
test ebp, ebp
mov eax, ebp
je 0x432472
mov edi, dword [eax + 8]
test edi, edi
mov ebp, dword [ebp]
je 0x432547
test byte [edi + 0xf8], 8
je 0x432547
test byte [edi + 0xfc], 0xe0
jne 0x4324e9
test dword [edi + 0x100], 0x40000
jne 0x4324e9
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
test byte [eax + 8], 0x20
jne 0x432547
push 0
push 0x5b1b88
push 0x5ace98
push 0
mov ebx, 1
mov eax, edi
call fcn.0040ce40
push eax
call fcn.00521e47
mov esi, eax
add esp, 0x14
test esi, esi
je 0x432547
cmp dword [edi + 0x24], 0
je 0x432547
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.004c4320
test eax, eax
jne 0x432547
cmp dword [esp + 0x1c], eax
jne 0x432547
mov edx, dword [esi]
push eax
mov eax, dword [edx + 0x20]
mov ecx, esi
call eax
push ebx
mov edi, ebx
mov ecx, 0x563378
mov edx, esi
call fcn.004b51d0
test ebp, ebp
jne 0x4324a6
mov edi, dword [esp + 0x14]
xor esi, esi
mov ecx, dword [edi + 8]
mov eax, dword [ecx + 0xc]
test al, 0x18
jne 0x43256a
test eax, 0x4000
je 0x432779
call fcn.00427a20
test eax, eax
je 0x432779
push 0x564f30
lea ecx, [esp + 0x20]
call fcn.00404670
mov dword [esp + 0x2c], esi
mov edx, dword [edi + 8]
mov eax, dword [edx + 0xc]
test al, 8
je 0x4325ab
push str.SetSpeakersAsDefaultAt1stPlugIn
lea ecx, [esp + 0x20]
call fcn.004049b0
mov dword [esp + 0x20], 1
jmp 0x4325e4
test al, 0x10
je 0x4325c7
push str.SetHDMIAsDefaultAt1stPlugIn
lea ecx, [esp + 0x20]
call fcn.004049b0
mov dword [esp + 0x20], 9
jmp 0x4325e4
test eax, 0x4000
je 0x4325e4
push str.SetFrontMicAsDefaultAt1stPlugIn
lea ecx, [esp + 0x20]
call fcn.004049b0
mov dword [esp + 0x20], 4
mov eax, dword [esp + 0x1c]
push esi
push eax
push str.General
mov ecx, 0x5b9548
call fcn.00507bbf
cmp eax, esi
jne 0x432751
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
mov ebp, dword [edx + 0x19bc]
test ebp, ebp
je 0x432751
mov eax, ebp
mov esi, dword [eax + 8]
test esi, esi
mov ebp, dword [ebp]
je 0x43260e
mov eax, dword [esi + 0x78]
cmp eax, dword [esp + 0x20]
jne 0x43260e
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
test dword [edx + 0xc], 0x4000
je 0x4326f9
push 0x564f30
lea ecx, [esp + 0x1c]
call fcn.00404670
mov byte [esp + 0x2c], 1
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
lea ecx, [esp + 0x18]
push ecx
mov ecx, esi
call edx
test eax, eax
jne 0x432671
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
jmp 0x4326be
lea edi, [esp + 0x18]
call fcn.00410630
mov ecx, dword [esp + 0x18]
cmp dword [ecx - 0xc], 0
jge 0x432689
or eax, 0xffffffff
jmp 0x4326a8
push str.FRONTMICINWAVE
push ecx
call fcn.00522186
mov ecx, dword [esp + 0x20]
add esp, 8
test eax, eax
jne 0x4326a4
or eax, 0xffffffff
jmp 0x4326a8
sub eax, ecx
sar eax, 1
xor edx, edx
cmp eax, 0xffffffff
setne dl
mov byte [esp + 0x2c], 0
mov eax, edx
test eax, eax
lea eax, [ecx - 0x10]
jne 0x4326e0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43260e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x43260e
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4326f9
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
push 0
push 0x5b1ae8
push 0x5ace98
push 0
mov ebx, 5
mov eax, esi
call fcn.0040ce40
push eax
call fcn.00521e47
mov esi, eax
add esp, 0x14
test esi, esi
je 0x43260e
mov ecx, esi
call fcn.004399e0
mov ecx, esi
call fcn.00439ab0
mov ecx, esi
call fcn.00439b80
mov ecx, dword [esp + 0x1c]
push 1
push ecx
push str.General
mov ecx, 0x5b9548
call fcn.00507c28
mov dword [esp + 0x2c], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x432779
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 8]
test byte [ecx + 0x24], 0x10
je 0x4328bb
push 0x564f30
lea ecx, [esp + 0x20]
call fcn.00404670
mov dword [esp + 0x2c], 2
mov edx, dword [ebx + 8]
test byte [edx + 0x24], 0x10
je 0x4327c0
push 0x1f
push str.SetSpeakersAsDefaultAt1stPlugIn
lea ecx, [esp + 0x24]
call fcn.00404a30
mov ebp, 1
jmp 0x4327c4
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
push 0
push eax
push str.General
mov ecx, 0x5b9548
call fcn.00507bbf
test eax, eax
jne 0x432893
mov ecx, dword [ebx + 8]
mov esi, dword [ecx + 0x19bc]
test esi, esi
je 0x432893
test esi, esi
mov eax, esi
je 0x432472
mov eax, dword [eax + 8]
test eax, eax
mov esi, dword [esi]
je 0x432838
cmp dword [eax + 0x78], ebp
jne 0x432838
cmp dword [eax + 0x34], 1
jne 0x432838
push 0
push 0x5b1ae8
push 0x5ace98
push 0
mov ebx, 5
call fcn.0040ce40
push eax
call fcn.00521e47
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x43283e
test esi, esi
jne 0x4327f3
jmp 0x43288f
mov ebp, dword [sym.imp.KERNEL32.dll_Sleep]
xor ebx, ebx
mov ecx, edi
call fcn.004399e0
mov ecx, edi
mov esi, eax
call fcn.00439ab0
mov ecx, edi
and esi, eax
call fcn.00439b80
and esi, eax
jne 0x432867
push 0xa
call ebp
add ebx, 1
test esi, esi
jne 0x432873
cmp ebx, 5
jb 0x432846
mov eax, dword [esp + 0x1c]
xor edx, edx
test esi, esi
setne dl
mov ecx, 0x5b9548
push edx
push eax
push str.General
call fcn.00507c28
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x2c], 0xffffffff
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4328bb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [ebx + 8]
mov esi, 0x800
test dword [ecx + 0x24], esi
je 0x432a31
push 0x564f30
lea ecx, [esp + 0x20]
call fcn.00404670
mov dword [esp + 0x2c], 3
mov edx, dword [ebx + 8]
test dword [edx + 0x24], esi
je 0x432902
push 0x1a
push str.SetMicAsDefaultAt1stPlugIn
lea ecx, [esp + 0x24]
call fcn.00404a30
mov dword [esp + 0x20], 4
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
mov ebp, dword [ecx + 0x19bc]
test ebp, ebp
je 0x432a1c
jmp 0x432920
push 0x564f30
lea ecx, [esp + 0x1c]
call fcn.00404670
test ebp, ebp
mov byte [esp + 0x2c], 4
mov eax, ebp
je 0x432472
mov edi, dword [eax + 8]
test edi, edi
mov ebp, dword [ebp]
je 0x432a06
mov edx, dword [edi + 0x78]
cmp edx, dword [esp + 0x20]
jne 0x432a06
cmp dword [edi + 0x34], 1
jne 0x432a06
push 0
push 0x5b1ae8
push 0x5ace98
push 0
mov ebx, 5
mov eax, edi
call fcn.0040ce40
push eax
call fcn.00521e47
mov esi, eax
add esp, 0x14
test esi, esi
lea ecx, [esp + 0x18]
je 0x432a0a
lea eax, [esp + 0x1c]
push eax
call fcn.00404ff0
push 0x567ea8
lea ecx, [esp + 0x1c]
call fcn.00410cd0
add edi, 0x14
push edi
lea ecx, [esp + 0x1c]
call fcn.00404530
mov ecx, dword [esp + 0x18]
push 0
push ecx
push str.General
mov ecx, 0x5b9548
call fcn.00507bbf
test eax, eax
jne 0x432a06
mov ecx, esi
call fcn.004399e0
mov ecx, esi
mov edi, eax
call fcn.00439ab0
mov ecx, esi
and edi, eax
call fcn.00439b80
and edi, eax
mov eax, dword [esp + 0x18]
mov edx, 0
setne dl
mov ecx, 0x5b9548
push edx
push eax
push str.General
call fcn.00507c28
lea ecx, [esp + 0x18]
mov byte [esp + 0x2c], 3
call fcn.00401640
test ebp, ebp
jne 0x432920
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], 0xffffffff
call fcn.00401640
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + 8]
test dword [ecx + 0xc], 0x8000
je 0x432b67
cmp dword [0x5b6edc], 0
jne 0x432a5f
push 0x5b6ed8
mov dword [0x5b6ed8], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x5b6edc], 6
jne 0x432b67
cmp dword [0x5b6ee0], 0
jne 0x432b67
push 0
push str.SetSpkAsDefaultAt1stSPDIFPlugIn
push str.General
mov ecx, 0x5b9548
call fcn.00507bbf
test eax, eax
jne 0x432b67
mov edx, dword [ebx + 8]
mov edi, dword [edx + 0x19bc]
mov eax, edi
test eax, eax
je 0x432b67
mov edx, 8
lea esi, [edx - 7]
test eax, eax
mov ecx, eax
je 0x432472
mov ecx, dword [ecx + 8]
test ecx, ecx
mov eax, dword [eax]
je 0x432ad5
cmp dword [ecx + 0x78], edx
jne 0x432ad5
cmp dword [ecx + 0x24], 0
je 0x432ad5
cmp dword [ecx + 0x34], esi
je 0x432ade
test eax, eax
jne 0x432ab2
jmp 0x432b67
test edi, edi
je 0x432b67
test edi, edi
mov eax, edi
je 0x432472
mov eax, dword [eax + 8]
test eax, eax
mov edi, dword [edi]
je 0x432b32
cmp dword [eax + 0x78], 1
jne 0x432b32
cmp dword [eax + 0x24], 0
je 0x432b32
cmp dword [eax + 0x34], 1
jne 0x432b32
push 0
push 0x5b1ae8
push 0x5ace98
push 0
mov ebx, 5
call fcn.0040ce40
push eax
call fcn.00521e47
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x432b38
test edi, edi
jne 0x432ae6
jmp 0x432b63
mov ecx, esi
call fcn.004399e0
mov ecx, esi
call fcn.00439ab0
mov ecx, esi
call fcn.00439b80
push 1
push str.SetSpkAsDefaultAt1stSPDIFPlugIn
push str.General
mov ecx, 0x5b9548
call fcn.00507c28
mov ebx, dword [esp + 0x14]
mov eax, dword [ebx + 8]
mov esi, 0x400
test dword [eax + 0x28], esi
je 0x432d70
cmp dword [0x5b6edc], 0
jne 0x432b96
push 0x5b6ed8
mov dword [0x5b6ed8], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x5b6edc], 6
jne 0x432d70
cmp dword [0x5b6ee0], 1
jne 0x432da3
push 0x564f30
lea ecx, [esp + 0x1c]
call fcn.00404670
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], 5
mov edx, dword [ecx + 8]
or ebp, 0xffffffff
test dword [edx + 0x28], esi
je 0x432bf2
push 0x1e
push str.SetWId1EDigitalOutAsDefCommDev
lea ecx, [esp + 0x20]
call fcn.00404a30
mov dword [esp + 0x20], 8
mov ebp, 0x1e
mov eax, dword [esp + 0x18]
push 0
push eax
push str.General
mov ecx, 0x5b9548
call fcn.00507bbf
test eax, eax
jne 0x432d48
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
mov edi, dword [edx + 0x19bc]
test edi, edi
je 0x432d48
jmp 0x432c30
push 0x564f30
lea ecx, [esp + 0x20]
call fcn.00404670
test edi, edi
mov byte [esp + 0x2c], 6
mov eax, edi
je 0x432472
mov eax, dword [eax + 8]
test eax, eax
mov edi, dword [edi]
je 0x432c90
mov ecx, dword [esp + 0x20]
cmp dword [eax + 0x78], ecx
jne 0x432c90
cmp dword [eax + 0x34], 1
jne 0x432c90
cmp ebp, 0xffffffff
je 0x432c90
cmp dword [eax + 0x38], 0xffffffff
jne 0x432c90
mov esi, dword [eax + 0x178]
xor ecx, ecx
test esi, esi
jbe 0x432c90
lea edx, [eax + 0x17c]
cmp dword [edx], ebp
je 0x432cc2
add ecx, 1
add edx, 4
cmp ecx, esi
jb 0x432c82
mov byte [esp + 0x2c], 5
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432cb5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test edi, edi
jne 0x432c30
jmp 0x432d48
push 0
push 0x5b1ae8
push 0x5ace98
push 0
mov ebx, 5
call fcn.0040ce40
push eax
call fcn.00521e47
add esp, 0x14
test eax, eax
jne 0x432d01
mov byte [esp + 0x2c], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jmp 0x432ca9
mov ecx, eax
call fcn.00439b80
mov edx, dword [esp + 0x18]
xor ecx, ecx
test eax, eax
setne cl
push ecx
push edx
push str.General
mov ecx, 0x5b9548
call fcn.00507c28
mov byte [esp + 0x2c], bl
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432d48
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x2c], 0xffffffff
mov eax, dword [esp + 0x18]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432d70
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [0x5b6edc], 0
jne 0x432d8e
push 0x5b6ed8
mov dword [0x5b6ed8], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
mov eax, dword [0x5b6edc]
cmp eax, 6
jne 0x432e70
cmp dword [0x5b6ee0], 1
jb 0x432e76
mov edi, dword [esp + 0x14]
mov edx, dword [edi + 8]
mov esi, dword [edx + 0x19bc]
test esi, esi
je 0x432ddc
lea ebx, [ebx]
test esi, esi
mov eax, esi
je 0x432472
mov ecx, dword [eax + 8]
test ecx, ecx
mov esi, dword [esi]
je 0x432dd8
call fcn.00428100
test esi, esi
jne 0x432dc0
mov ecx, dword [edi + 8]
test dword [ecx + 0x24], 0x1000
je 0x432edd
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x4c], 0
je 0x432edd
mov edx, eax
mov eax, dword [edx + 0x48]
cmp eax, 0xffffffff
je 0x432edd
mov edi, dword [ecx + 0x19bc]
imul eax, eax, 0xa4
mov ebp, dword [eax + ecx + 0x5ac]
add eax, ecx
mov eax, dword [eax + 0x5bc]
mov dword [esp + 0x20], eax
test edi, edi
je 0x432edd
mov eax, edi
mov eax, dword [eax + 8]
test eax, eax
mov edi, dword [edi]
je 0x432e27
cmp dword [eax + 0x34], 0
je 0x432e27
mov ecx, dword [esp + 0x20]
cmp ecx, dword [eax + 0x38]
jne 0x432e27
mov esi, dword [eax + 0x178]
xor ecx, ecx
test esi, esi
jbe 0x432e27
lea edx, [eax + 0x17c]
jmp 0x432e60
cmp dword [edx], ebp
je 0x432e92
add ecx, 1
add edx, 4
cmp ecx, esi
jb 0x432e60
jmp 0x432e27
ja 0x432da9
mov edi, dword [esp + 0x14]
mov ecx, dword [edi + 8]
test dword [ecx + 0x104], 0x40000
je 0x432ddc
jmp 0x432dad
push 0
push 0x5b1ae8
push 0x5ace98
push 0
mov ebx, 5
call fcn.0040ce40
push eax
call fcn.00521e47
mov esi, eax
add esp, 0x14
test esi, esi
je 0x432e27
mov ecx, esi
call fcn.004399e0
mov ecx, esi
call fcn.00439ab0
mov ecx, esi
call fcn.00439b80
mov edx, dword [esp + 0x14]
mov dword [edx + 0x4c], 0
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 8]
mov bl, 0x80
test byte [eax + 0x28], bl
je 0x432ef8
call fcn.004234f0
mov ecx, dword [esi + 8]
call fcn.00423530
mov eax, dword [esi + 8]
test byte [eax + 0x30], bl
je 0x432f05
call fcn.00429130
mov eax, dword [esi + 8]
test byte [eax + 0x30], 0x40
je 0x432f13
call fcn.004290a0
mov eax, dword [esi]
mov edx, dword [eax + 0xa4]
mov ecx, esi
call edx
mov eax, dword [esi + 8]
test byte [eax + 0x18c], 8
je 0x43306e
cmp dword [0x5b6edc], 0
jne 0x432f4d
push 0x5b6ed8
mov dword [0x5b6ed8], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [0x5b6edc], 6
jne 0x43306e
cmp dword [0x5b6ee0], 0
jne 0x43306e
push 0x564f30
lea ecx, [esp + 0x24]
call fcn.00404670
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], 7
mov edx, dword [ecx + 8]
test byte [edx + 0x18c], 8
je 0x432fa4
push 0x22
push str.SetDefaultInternalMicrophoneDevice
lea ecx, [esp + 0x28]
call fcn.00404a30
mov ebp, 4
jmp 0x432fa8
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
push 0
push eax
push str.General
mov ecx, 0x5b9548
call fcn.00507bbf
test eax, eax
jne 0x433046
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
mov edi, dword [edx + 0x19bc]
test edi, edi
je 0x433046
mov eax, edi
mov esi, dword [eax + 8]
test esi, esi
mov edi, dword [edi]
je 0x432fd3
cmp dword [esi + 0x78], ebp
jne 0x432fd3
mov eax, esi
call fcn.00410350
test eax, eax
je 0x432fd3
push 0
push 0x5b1ae8
push 0x5ace98
push 0
mov ebx, 5
mov eax, esi
call fcn.0040ce40
push eax
call fcn.00521e47
mov esi, eax
add esp, 0x14
test esi, esi
je 0x432fd3
mov ecx, esi
call fcn.004399e0
mov ecx, esi
call fcn.00439ab0
mov ecx, esi
call fcn.00439b80
mov eax, dword [esp + 0x20]
push 1
push eax
push str.General
mov ecx, 0x5b9548
call fcn.00507c28
mov dword [esp + 0x2c], 0xffffffff
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x43306e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
mov esi, dword [edx + 0x19bc]
test esi, esi
je 0x4330a6
mov edi, 1
test esi, esi
mov eax, esi
je 0x432472
mov eax, dword [eax + 8]
test eax, eax
mov esi, dword [esi]
je 0x4330a2
cmp dword [eax + 0x34], edi
jne 0x4330a2
push eax
call fcn.0040f910
test esi, esi
jne 0x433084
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret