Function at 0x43b480
Capabilities:
Check internet connectivity via wininet
Contain obfuscated stackstrings

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5168f7
mov eax, dword fs:[0]
push eax
push ebx
mov eax, 0x1a78
call fcn.0050fbd0
mov eax, dword [0x575054]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0xce0], esi
xor edi, edi
mov dword [ebp - 0xcd0], edi
call fcn.004489e0
mov cl, al
mov byte [ebp - 0xcc9], cl
mov byte [ebp - 0xcca], cl
test cl, cl
jne 0x43b560
push 3
xor eax, eax
mov dword [ebp - 0x974], edi
mov dword [ebp - 0x970], edi
lea ecx, [ebp - 0x984]
push 0x539060
mov dword [ebp - 0x974], edi
mov dword [ebp - 0x970], 7
mov word [ebp - 0x984], ax
call fcn.004033d0
push edi
lea eax, [ebp - 0x984]
mov dword [ebp - 4], edi
push edi
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0x984]
mov dword [ebp - 4], 1
call fcn.00403370
mov dword [ebp - 4], 0xffffffff
mov cl, byte [ebp - 0xcc9]
nop word [eax + eax]
mov al, byte [esi + 0xa8]
test al, al
jne 0x43cbce
nop
test cl, cl
jne 0x43b612
push 0x3e8
call dword [sym.imp.KERNEL32.dll_Sleep]
lea eax, [ebp - 0x94c]
mov dword [ebp - 0x94c], 0
push eax
call dword [sym.imp.SensApi.dll_IsNetworkAlive]
test eax, eax
je 0x43b5a2
mov al, 1
jmp 0x43b5ad
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
setne al
push dword [ebp - 0x94c]
mov byte [ebp - 0xcc9], al
push 0x53a508
call fcn.004457e0
mov cl, byte [ebp - 0xcc9]
add esp, 8
test cl, cl
je 0x43b604
push 0
lea eax, [ebp - 0x94c]
push eax
call dword [sym.imp.WININET.dll_InternetGetConnectedState]
push dword [ebp - 0x94c]
cmp eax, 1
push 0x53a4e8
sete al
mov byte [ebp - 0xcc9], al
call fcn.004457e0
mov cl, byte [ebp - 0xcc9]
add esp, 8
mov al, byte [esi + 0xa8]
test al, al
je 0x43b570
test al, al
jne 0x43cbce
cmp byte [ebp - 0xcca], al
jne 0x43b6b4
test cl, cl
je 0x43b6b4
push 3
xor eax, eax
mov dword [ebp - 0xd44], 0
mov dword [ebp - 0xd40], 0
lea ecx, [ebp - 0xd54]
push 0x5399bc
mov dword [ebp - 0xd44], 0
mov dword [ebp - 0xd40], 7
mov word [ebp - 0xd54], ax
call fcn.004033d0
push 0
lea eax, [ebp - 0xd54]
mov dword [ebp - 4], 5
push 1
push eax
call fcn.004291b0
mov ecx, eax
call fcn.00429680
lea ecx, [ebp - 0xd54]
mov dword [ebp - 4], 6
call fcn.00403370
mov al, byte [ebp - 0xcc9]
mov dword [ebp - 4], 0xffffffff
mov byte [ebp - 0xcca], al
mov ecx, dword [esi + 0x4c]
lea eax, [esi + 0x4c]
mov dword [ebp - 0xcdc], eax
mov dword [ebp - 0xcd8], ecx
mov eax, dword [ecx + 0x170]
lea esi, [ecx + 0x74]
mov dword [ebp - 0x94c], eax
test esi, esi
je 0x43b6fa
mov eax, dword [esi]
mov dword [ebp - 0xcd8], ecx
test eax, eax
je 0x43b6fa
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [ebp - 0xcdc]
mov ecx, dword [eax]
mov dword [ebp - 0xcd8], ecx
cmp byte [ecx + 0x49], 0
je 0x43b76a
mov byte [ecx + 0x48], 1
mov dword [ecx + 0x16c], 0
mov dword [ecx + 0x170], 0
mov dword [ebp - 4], 0xa
lea ecx, [ecx + 0x164]
mov edi, dword [ecx]
push dword [edi + 4]
call fcn.0043eec0
mov ecx, dword [ebp - 0xcd8]
mov eax, dword [ecx + 0x164]
mov dword [eax + 4], edi
mov eax, dword [ecx + 0x164]
mov dword [eax], edi
mov eax, dword [ecx + 0x164]
mov dword [eax + 8], edi
mov edi, dword [ebp - 0xcd0]
mov dword [ecx + 0x168], 0
mov dword [ebp - 4], 0xffffffff
mov byte [ecx + 0x49], 0
mov dword [ebp - 4], 0xb
test esi, esi
je 0x43b782
mov eax, dword [esi]
test eax, eax
je 0x43b782
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov eax, dword [ebp - 0xcdc]
lea ecx, [ebp - 0xb38]
mov esi, dword [ebp - 0xce0]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [eax]
mov dword [eax + 0x16c], esi
call fcn.00439730
lea eax, [ebp - 0xb38]
mov dword [ebp - 4], 0xc
mov ecx, dword [ebp - 0x94c]
push eax
push ecx
mov ecx, esi
call fcn.0043abe0
test al, al
je 0x43cb21
mov eax, dword [0x5789d0]
test al, 1
jne 0x43b7fb
or eax, 1
mov dword [0x5789d0], eax
mov byte [ebp - 4], 0xd
call fcn.00414120
push 0x52eff0
mov byte [ebp - 4], 0xd
call fcn.0050f637
add esp, 4
mov byte [ebp - 4], 0xc
push 0x578acc
lea ecx, [ebp - 0x12c8]
call fcn.00415380
or edi, 1
mov dword [ebp - 0xcd0], edi
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x12c8]
mov esi, dword [ebp - 0x1234]
mov dword [ebp - 0xcec], esi
mov byte [ebp - 4], 0xc
call fcn.00407a70
mov eax, dword [0x5789d0]
test al, 1
jne 0x43b862
or eax, 1
mov dword [0x5789d0], eax
mov byte [ebp - 4], 0x10
call fcn.00414120
push 0x52eff0
mov byte [ebp - 4], 0x10
call fcn.0050f637
add esp, 4
mov byte [ebp - 4], 0xc
push 0x578acc
lea ecx, [ebp - 0x1440]
call fcn.00415380
or edi, 2
mov dword [ebp - 0xcd0], edi
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x1440]
mov eax, dword [ebp - 0x12cc]
mov dword [ebp - 0xcf4], eax
mov byte [ebp - 4], 0xc
call fcn.00407a70
push 3
xor eax, eax
mov dword [ebp - 0xd74], 0
mov dword [ebp - 0xd70], 0
lea ecx, [ebp - 0xd84]
push 0x5399c4
mov dword [ebp - 0xd74], 0
mov dword [ebp - 0xd70], 7
mov word [ebp - 0xd84], ax
call fcn.004033d0
mov eax, esi
mov byte [ebp - 4], 0x13
cdq
push edx
push eax
lea eax, [ebp - 0xd84]
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xd84]
mov byte [ebp - 4], 0x14
call fcn.00403370
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xb38]
call fcn.00439900
mov byte [ebp - 0xccc], al
xor eax, eax
push 3
push 0x538b34
cmp esi, 1
jne 0x43b984
mov dword [ebp - 0xdbc], eax
lea ecx, [ebp - 0xdcc]
mov dword [ebp - 0xdb8], eax
mov dword [ebp - 0xdbc], eax
mov dword [ebp - 0xdb8], 7
mov word [ebp - 0xdcc], ax
call fcn.004033d0
push 0
lea eax, [ebp - 0xdcc]
mov byte [ebp - 4], 0x18
push esi
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xdcc]
mov byte [ebp - 4], 0x19
call fcn.00403370
jmp 0x43b9e8
mov dword [ebp - 0xd5c], 0
lea ecx, [ebp - 0xd6c]
mov dword [ebp - 0xd58], 0
mov dword [ebp - 0xd5c], 0
mov dword [ebp - 0xd58], 7
mov word [ebp - 0xd6c], ax
call fcn.004033d0
push 0
lea eax, [ebp - 0xd6c]
mov byte [ebp - 4], 0x1d
push 0
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xd6c]
mov byte [ebp - 4], 0x1e
call fcn.00403370
mov byte [ebp - 4], 0xc
mov eax, dword [0x578650]
test al, 1
jne 0x43ba5f
or eax, 1
mov dword [0x578650], eax
mov byte [ebp - 4], 0x23
xor eax, eax
mov dword [0x578668], 0
mov dword [0x57866c], 0
mov dword [0x578668], 0
mov dword [0x57866c], 7
mov word [0x578658], ax
mov ecx, 0x578678
mov byte [ebp - 4], 0x24
call fcn.0040caa0
mov byte [ebp - 4], 0x25
mov byte [0x578670], 0
push 0x52efe0
mov byte [ebp - 4], 0x22
call fcn.0050f637
add esp, 4
mov byte [ebp - 4], 0xc
mov al, byte [ebp - 0xccc]
mov byte [ebp - 0xccb], 1
test al, al
je 0x43c731
cmp dword [ebp - 0xb30], 5
je 0x43c731
mov eax, dword [0x5789d0]
xorps xmm0, xmm0
movq qword [ebp - 0x990], xmm0
mov dword [ebp - 0x988], 0
test al, 1
jne 0x43bac5
or eax, 1
mov dword [0x5789d0], eax
mov byte [ebp - 4], 0x27
call fcn.00414120
push 0x52eff0
mov byte [ebp - 4], 0x27
call fcn.0050f637
add esp, 4
mov byte [ebp - 4], 0xc
push 0x578acc
lea ecx, [ebp - 0x1150]
call fcn.00415380
or edi, 4
mov dword [ebp - 0xcd0], edi
mov byte [ebp - 4], 0x29
mov eax, dword [ebp - 0xfe8]
mov dword [ebp - 0x990], 0
mov dword [ebp - 0xcd8], eax
mov dword [ebp - 0x990], eax
mov eax, dword [ebp - 0xfe4]
mov dword [ebp - 0x98c], 0
mov dword [ebp - 0x98c], eax
mov dword [ebp - 0xce8], eax
mov eax, dword [ebp - 0xfe0]
mov dword [ebp - 0x988], 0
mov dword [ebp - 0x988], eax
mov dword [ebp - 0xfe8], 0
mov dword [ebp - 0xfe4], 0
mov dword [ebp - 0xfe0], 0
lea ecx, [ebp - 0x1150]
mov byte [ebp - 4], 0x2b
call fcn.00407a70
mov eax, dword [ebp - 0xce8]
xor esi, esi
sub eax, dword [ebp - 0xcd8]
sar eax, 2
mov dword [ebp - 0xce4], esi
test eax, eax
je 0x43c709
nop dword [eax]
mov eax, dword [ebp - 0xcd8]
mov esi, dword [eax + esi*4]
mov dword [ebp - 0xcdc], esi
test esi, esi
jne 0x43bbb0
mov eax, dword [ebp - 0xb30]
cmp eax, 1
jl 0x43c37b
cmp eax, 4
jle 0x43c709
jmp 0x43c37b
cmp esi, 2
ja 0x43c37b
xor eax, eax
mov dword [ebp - 0x9b0], 0
push eax
mov dword [ebp - 0x9ac], 0
lea ecx, [ebp - 0x9c0]
push 0x531de0
mov dword [ebp - 0x9b0], 0
mov dword [ebp - 0x9ac], 7
mov word [ebp - 0x9c0], ax
call fcn.004033d0
mov byte [ebp - 4], 0x2c
lea ecx, [ebp - 0x984]
xor eax, eax
mov dword [ebp - 0x974], 0
push eax
mov dword [ebp - 0x970], 0
push 0x531de0
mov dword [ebp - 0x974], 0
mov dword [ebp - 0x970], 7
mov word [ebp - 0x984], ax
call fcn.004033d0
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x964]
push 0
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x950], 0
push 0x5363a0
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x950], 0xf
mov byte [ebp - 0x964], 0
call fcn.0040bd80
mov byte [ebp - 4], 0x2e
cmp esi, 1
jne 0x43bdde
cmp dword [ebp - 0xcec], esi
je 0x43bd17
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0x950]
cmp edx, 0x10
jb 0x43bcd9
mov ecx, dword [ebp - 0x964]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43bccf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43cbc8
push edx
push ecx
call fcn.0050f64c
add esp, 8
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x950], 0xf
mov byte [ebp - 0x964], 0
lea ecx, [ebp - 0x984]
mov byte [ebp - 4], 0x33
call fcn.00403370
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x37
call fcn.00403370
jmp 0x43c377
call fcn.00408ca0
add eax, 0xf4
lea ecx, [ebp - 0x15b8]
push eax
call fcn.00415380
or edi, 8
mov dword [ebp - 0xcd0], edi
lea eax, [ebp - 0x1520]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [ebp - 0x9c0]
call fcn.004032b0
lea ecx, [ebp - 0x15b8]
mov byte [ebp - 4], 0x2e
call fcn.00407a70
call fcn.00408ca0
add eax, 0xf4
lea ecx, [ebp - 0x1730]
push eax
call fcn.00415380
or edi, 0x10
mov dword [ebp - 0xcd0], edi
lea eax, [ebp - 0x1680]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [ebp - 0x984]
call fcn.004032b0
lea ecx, [ebp - 0x1730]
mov byte [ebp - 4], 0x2e
call fcn.00407a70
push 0x538b34
lea ecx, [ebp - 0xe44]
call fcn.004032f0
push 0
lea eax, [ebp - 0xe44]
mov byte [ebp - 4], 0x3d
push 4
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xe44]
mov byte [ebp - 4], 0x3e
call fcn.00403370
jmp 0x43c1b6
cmp esi, 2
jne 0x43c1ba
cmp dword [ebp - 0xcf4], 1
je 0x43be6c
mov byte [ebp - 4], 0x42
mov edx, dword [ebp - 0x950]
cmp edx, 0x10
jb 0x43be2e
mov ecx, dword [ebp - 0x964]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43be24
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43cbc8
push edx
push ecx
call fcn.0050f64c
add esp, 8
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x950], 0xf
mov byte [ebp - 0x964], 0
lea ecx, [ebp - 0x984]
mov byte [ebp - 4], 0x46
call fcn.00403370
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x4a
call fcn.00403370
jmp 0x43c377
push 0x578678
lea ecx, [ebp - 0x1a88]
call fcn.0040d940
or edi, 0x20
mov dword [ebp - 0xcd0], edi
lea eax, [ebp - 0x1a08]
mov byte [ebp - 4], 0x4e
push eax
lea ecx, [ebp - 0x9d8]
call fcn.00408b30
lea ecx, [ebp - 0x1a88]
mov byte [ebp - 4], 0x50
call fcn.0040d390
push 0x531de0
lea ecx, [ebp - 0xa48]
call fcn.004032f0
mov byte [ebp - 4], 0x51
cmp dword [ebp - 0x9c8], 0
je 0x43bf05
push 0xfde9
lea eax, [ebp - 0x9d8]
push eax
lea eax, [ebp - 0xe5c]
push eax
call fcn.004bafe0
add esp, 0xc
push eax
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0x52
call fcn.004032b0
lea ecx, [ebp - 0xe5c]
mov byte [ebp - 4], 0x53
call fcn.00403370
mov byte [ebp - 4], 0x51
call fcn.00408ca0
add eax, 0xf4
lea ecx, [ebp - 0xfd8]
push eax
call fcn.00415380
or edi, 0x40
mov dword [ebp - 0xcd0], edi
mov byte [ebp - 4], 0x59
xor eax, eax
movups xmm0, xmmword [ebp - 0xf10]
mov dword [ebp - 0xa20], 0
mov dword [ebp - 0xa1c], 0
movups xmmword [ebp - 0xa30], xmm0
mov word [ebp - 0xf10], ax
movq xmm0, qword [ebp - 0xf00]
movq qword [ebp - 0xa20], xmm0
mov dword [ebp - 0xf00], 0
mov dword [ebp - 0xefc], 7
mov byte [ebp - 4], 0x5a
movups xmm0, xmmword [ebp - 0xef8]
mov dword [ebp - 0xa08], eax
mov dword [ebp - 0xa04], eax
movups xmmword [ebp - 0xa18], xmm0
mov word [ebp - 0xef8], ax
movq xmm0, qword [ebp - 0xee8]
mov dword [ebp - 0xee8], eax
movq qword [ebp - 0xa08], xmm0
mov dword [ebp - 0xee4], 7
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0xee0]
mov dword [ebp - 0xa00], eax
mov byte [ebp - 4], 0x5b
xor eax, eax
movups xmm0, xmmword [ebp - 0xedc]
mov word [ebp - 0xedc], ax
mov dword [ebp - 0x9ec], 0
movups xmmword [ebp - 0x9fc], xmm0
mov dword [ebp - 0x9e8], 0
movq xmm0, qword [ebp - 0xecc]
movq qword [ebp - 0x9ec], xmm0
mov dword [ebp - 0xecc], 0
mov dword [ebp - 0xec8], 7
mov byte [ebp - 4], 0x58
mov eax, dword [ebp - 0xec4]
mov dword [ebp - 0x9e4], eax
mov eax, dword [ebp - 0xec0]
mov dword [ebp - 0x9e0], eax
mov eax, dword [ebp - 0xebc]
mov dword [ebp - 0x9dc], eax
lea ecx, [ebp - 0xfd8]
mov byte [ebp - 4], 0x5d
call fcn.00407a70
push 0x800
lea eax, [ebp - 0x948]
mov ecx, 0x4b
mov esi, str._adsense_list_:__seat_id_:_d__size_:1__display_list_:__display_id_:__s___ad_form_:_d____device_:_device_type_:1__user_:_uid_:__s___test_:_d
lea edi, [ebp - 0x148]
push 0
rep movsd dword es:[edi], dword [esi]
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0xa48]
cmp dword [ebp - 0xa34], 8
lea eax, [ebp - 0x9fc]
cmovae ecx, dword [ebp - 0xa48]
push dword [ebp - 0x9dc]
cmp dword [ebp - 0x9e8], 8
push ecx
push dword [ebp - 0x9e4]
cmovae eax, dword [ebp - 0x9fc]
push eax
push dword [ebp - 0xa00]
lea eax, [ebp - 0x148]
push eax
lea eax, [ebp - 0x948]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x1c
lea eax, [ebp - 0x964]
push eax
lea eax, [ebp - 0x948]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, eax
lea ecx, [ebp - 0x948]
call fcn.004bad90
add esp, 4
lea eax, [ebp - 0xa30]
cmp dword [ebp - 0xa1c], 8
lea ecx, [ebp - 0x9c0]
cmovae eax, dword [ebp - 0xa30]
push dword [ebp - 0xa20]
push eax
call fcn.004033d0
lea ecx, [ebp - 0x9fc]
mov byte [ebp - 4], 0x5f
call fcn.00403370
lea ecx, [ebp - 0xa18]
mov byte [ebp - 4], 0x63
call fcn.00403370
lea ecx, [ebp - 0xa30]
mov byte [ebp - 4], 0x67
call fcn.00403370
lea ecx, [ebp - 0xa48]
mov byte [ebp - 4], 0x6b
call fcn.00403370
mov byte [ebp - 4], 0x6f
mov edx, dword [ebp - 0x9c4]
cmp edx, 0x10
jb 0x43c195
mov ecx, dword [ebp - 0x9d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43c18b
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43cbc8
push edx
push ecx
call fcn.0050f64c
add esp, 8
mov dword [ebp - 0x9c8], 0
mov dword [ebp - 0x9c4], 0xf
mov byte [ebp - 0x9d8], 0
mov esi, dword [ebp - 0xcdc]
mov byte [ebp - 4], 0x2e
lea eax, [ebp - 0x964]
push eax
lea eax, [ebp - 0x984]
push eax
lea eax, [ebp - 0x9c0]
push eax
push esi
call fcn.00438f00
mov ecx, eax
call fcn.0040a510
xorps xmm0, xmm0
mov byte [ebp - 0xcd1], al
movlpd qword [ebp - 0x96c], xmm0
call fcn.00438f00
mov edi, dword [eax]
test edi, edi
jne 0x43c1fc
xor esi, esi
jmp 0x43c22a
mov esi, dword [edi + 0x84]
mov dword [ebp - 0x96c], 0
mov dword [ebp - 0x968], 0
test esi, esi
je 0x43c224
lock inc dword [esi + 4]
mov esi, dword [edi + 0x84]
mov edi, dword [edi + 0x80]
mov dword [ebp - 0x96c], edi
mov dword [ebp - 0x968], esi
cmp byte [ebp - 0xcd1], 0
mov byte [ebp - 4], 0x73
je 0x43c2d1
test edi, edi
setne al
test al, al
je 0x43c2d1
lea ecx, [ebp - 0xbd0]
call fcn.004037a0
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0xbd0]
mov eax, dword [edi]
push ecx
mov ecx, edi
mov eax, dword [eax + 0x18]
call eax
test al, al
jne 0x43c3a4
cmp dword [ebp - 0xcdc], 1
jne 0x43c2c2
push 0x538b34
lea ecx, [ebp - 0xe14]
call fcn.004032f0
push 0
lea eax, [ebp - 0xe14]
mov byte [ebp - 4], 0x97
push 6
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xe14]
mov byte [ebp - 4], 0x98
call fcn.00403370
mov byte [ebp - 4], 0x74
lea ecx, [ebp - 0xbd0]
mov byte [ebp - 4], 0x73
call fcn.00403f00
mov byte [ebp - 4], 0x9c
test esi, esi
je 0x43c2fa
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x43c2fa
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x43c2fa
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x9d
mov edx, dword [ebp - 0x950]
cmp edx, 0x10
jb 0x43c338
mov ecx, dword [ebp - 0x964]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43c32e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43cbc8
push edx
push ecx
call fcn.0050f64c
add esp, 8
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x950], 0xf
mov byte [ebp - 0x964], 0
lea ecx, [ebp - 0x984]
mov byte [ebp - 4], 0xa1
call fcn.00403370
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0xa5
call fcn.00403370
mov edi, dword [ebp - 0xcd0]
mov byte [ebp - 4], 0x2b
mov eax, dword [ebp - 0xce8]
mov esi, dword [ebp - 0xce4]
sub eax, dword [ebp - 0xcd8]
inc esi
sar eax, 2
mov dword [ebp - 0xce4], esi
cmp esi, eax
jb 0x43bb80
jmp 0x43c709
lea eax, [ebp - 0xcc8]
mov byte [ebp - 0xccb], 0
push eax
call fcn.00408ca0
mov ecx, eax
call fcn.00415220
lea eax, [ebp - 0xb9c]
mov byte [ebp - 4], 0x75
push eax
lea ecx, [ebp - 0xc80]
call fcn.00405920
lea eax, [ebp - 0x96c]
push eax
lea ecx, [ebp - 0xbf4]
call fcn.0040bc00
push 0
push 0x531de0
lea ecx, [ebp - 0xc58]
mov dword [ebp - 0xcb4], 0
call fcn.004033d0
cmp dword [ebp - 0xcdc], 1
jne 0x43c462
push 0x538b34
lea ecx, [ebp - 0xe2c]
call fcn.004032f0
push 0
lea eax, [ebp - 0xe2c]
mov byte [ebp - 4], 0x76
push 7
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xe2c]
mov byte [ebp - 4], 0x77
call fcn.00403370
mov byte [ebp - 4], 0x75
mov dword [ebp - 0xcc8], 6
mov dword [ebp - 0xb30], 6
jmp 0x43c5f5
lea eax, [ebp - 0xb6c]
push eax
lea ecx, [ebp - 0xb50]
call fcn.00405990
mov byte [ebp - 4], 0x7b
lea ecx, [ebp - 0x9a8]
push 0
mov dword [ebp - 0x998], 0
mov dword [ebp - 0x994], 0
push 0x5363a0
mov dword [ebp - 0x998], 0
mov dword [ebp - 0x994], 0xf
mov byte [ebp - 0x9a8], 0
call fcn.0040bd80
mov byte [ebp - 4], 0x7c
cmp dword [ebp - 0xb40], 0
je 0x43c575
push 0xfde9
lea edx, [ebp - 0xb6c]
lea ecx, [ebp - 0xdfc]
call fcn.004bb4f0
add esp, 4
push eax
lea ecx, [ebp - 0x9a8]
mov byte [ebp - 4], 0x7d
call fcn.0041d900
mov byte [ebp - 4], 0x7e
mov edx, dword [ebp - 0xde8]
cmp edx, 0x10
jb 0x43c531
mov ecx, dword [ebp - 0xdfc]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43c527
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43cbc8
push edx
push ecx
call fcn.0050f64c
add esp, 8
mov dword [ebp - 0xdec], 0
mov dword [ebp - 0xde8], 0xf
mov byte [ebp - 0xdfc], 0
mov byte [ebp - 4], 0x7c
lea eax, [ebp - 0x9a8]
cmp dword [ebp - 0x994], 0x10
mov ecx, 0x5786f8
push dword [ebp - 0x998]
cmovae eax, dword [ebp - 0x9a8]
push eax
call fcn.0040bd80
mov dword [ebp - 0xcc8], 7
mov dword [ebp - 0xb30], 7
mov byte [ebp - 4], 0x82
mov edx, dword [ebp - 0x994]
cmp edx, 0x10
jb 0x43c5c7
mov ecx, dword [ebp - 0x9a8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43c5bd
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43cbc8
push edx
push ecx
call fcn.0050f64c
add esp, 8
mov dword [ebp - 0x998], 0
mov dword [ebp - 0x994], 0xf
mov byte [ebp - 0x9a8], 0
lea ecx, [ebp - 0xb50]
mov byte [ebp - 4], 0x86
call fcn.00403370
mov byte [ebp - 4], 0x75
lea eax, [ebp - 0xb9c]
push eax
lea ecx, [ebp - 0xaf8]
call fcn.00405920
lea eax, [ebp - 0xbb4]
mov byte [ebp - 0xa7c], 1
push eax
lea ecx, [ebp - 0xa64]
mov dword [ebp - 0xac4], 2
mov dword [ebp - 0xac0], 1
call fcn.00405920
call fcn.00408ca0
lea ecx, [ebp - 0xcc8]
push ecx
mov ecx, eax
call fcn.004156c0
lea ecx, [ebp - 0xcc8]
mov byte [ebp - 4], 0x74
call fcn.004143e0
lea ecx, [ebp - 0xbd0]
mov byte [ebp - 4], 0x73
call fcn.00403f00
mov byte [ebp - 4], 0x8a
test esi, esi
je 0x43c68e
or eax, 0xffffffff
lock xadd dword [esi + 4], eax
jne 0x43c68e
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
or eax, 0xffffffff
lock xadd dword [esi + 8], eax
jne 0x43c68e
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov byte [ebp - 4], 0x8b
mov edx, dword [ebp - 0x950]
cmp edx, 0x10
jb 0x43c6cc
mov ecx, dword [ebp - 0x964]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43c6c2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x43cbc8
push edx
push ecx
call fcn.0050f64c
add esp, 8
mov dword [ebp - 0x954], 0
mov dword [ebp - 0x950], 0xf
mov byte [ebp - 0x964], 0
lea ecx, [ebp - 0x984]
mov byte [ebp - 4], 0x8f
call fcn.00403370
lea ecx, [ebp - 0x9c0]
mov byte [ebp - 4], 0x93
call fcn.00403370
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x990]
mov byte [ebp - 4], 0xc
call fcn.00408b90
cmp byte [ebp - 0xccb], 0
je 0x43c8a9
mov esi, dword [ebp - 0xcec]
mov al, byte [ebp - 0xccc]
cmp esi, 1
jne 0x43c8a9
test al, al
je 0x43c838
cmp dword [ebp - 0xb30], 4
jne 0x43c7bc
push 3
xor eax, eax
mov dword [ebp - 0xd2c], 0
mov dword [ebp - 0xd28], 0
lea ecx, [ebp - 0xd3c]
push 0x538b34
mov dword [ebp - 0xd2c], 0
mov dword [ebp - 0xd28], 7
mov word [ebp - 0xd3c], ax
call fcn.004033d0
push 0
lea eax, [ebp - 0xd3c]
mov byte [ebp - 4], 0xa9
push 2
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xd3c]
mov byte [ebp - 4], 0xaa
call fcn.00403370
mov byte [ebp - 4], 0xc
cmp dword [ebp - 0xb30], 5
jne 0x43c8a9
push 3
xor eax, eax
mov dword [ebp - 0xd8c], 0
mov dword [ebp - 0xd88], 0
lea ecx, [ebp - 0xd9c]
push 0x538b34
mov dword [ebp - 0xd8c], 0
mov dword [ebp - 0xd88], 7
mov word [ebp - 0xd9c], ax
call fcn.004033d0
push 0
lea eax, [ebp - 0xd9c]
mov byte [ebp - 4], 0xae
push 3
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xd9c]
mov byte [ebp - 4], 0xaf
call fcn.00403370
jmp 0x43c8a5
push 3
xor eax, eax
mov dword [ebp - 0xda4], 0
mov dword [ebp - 0xda0], 0
lea ecx, [ebp - 0xdb4]
push 0x538b34
mov dword [ebp - 0xda4], 0
mov dword [ebp - 0xda0], 7
mov word [ebp - 0xdb4], ax
call fcn.004033d0
push 0
lea eax, [ebp - 0xdb4]
mov byte [ebp - 4], 0xb3
push 0xc
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xdb4]
mov byte [ebp - 4], 0xb4
call fcn.00403370
mov byte [ebp - 4], 0xc
mov edi, dword [ebp - 0xce0]
mov ecx, dword [ebp - 0xac4]
cmp ecx, 2
mov eax, dword [ebp - 0xb30]
mov dword [edi + 0x70], eax
setne al
mov byte [edi + 0x81], al
mov eax, dword [ebp - 0xac8]
mov dword [edi + 0x6c], ecx
test eax, eax
jg 0x43c8dd
mov eax, dword [edi + 0x88]
mov dword [edi + 0x88], eax
lea ecx, [ebp - 0xde4]
mov dword [edi + 0x8c], eax
mov eax, dword [ebp - 0xa78]
mov dword [edi + 0xa0], eax
mov eax, dword [ebp - 0xa74]
mov dword [edi + 0xa4], eax
mov eax, dword [ebp - 0xb34]
mov dword [edi + 0x68], eax
mov al, byte [ebp - 0xa6b]
mov byte [edi + 0xa9], al
xor eax, eax
push 3
mov dword [ebp - 0xdd4], 0
mov dword [ebp - 0xdd0], 0
push 0x5399b4
mov dword [ebp - 0xdd4], 0
mov dword [ebp - 0xdd0], 7
mov word [ebp - 0xde4], ax
call fcn.004033d0
push 0
mov byte [ebp - 4], 0xb8
lea eax, [ebp - 0xde4]
push dword [edi + 0x68]
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xde4]
mov byte [ebp - 4], 0xb9
call fcn.00403370
xor eax, eax
mov byte [ebp - 4], 0xc
push 3
push 0x539818
cmp byte [ebp - 0xabc], al
je 0x43c9f3
mov dword [ebp - 0xcfc], eax
lea ecx, [ebp - 0xd0c]
mov dword [ebp - 0xcf8], eax
mov dword [ebp - 0xcfc], eax
mov dword [ebp - 0xcf8], 7
mov word [ebp - 0xd0c], ax
call fcn.004033d0
push 0
lea eax, [ebp - 0xd0c]
mov byte [ebp - 4], 0xbd
push 0
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xd0c]
mov byte [ebp - 4], 0xbe
call fcn.00403370
jmp 0x43ca57
mov dword [ebp - 0xd14], 0
lea ecx, [ebp - 0xd24]
mov dword [ebp - 0xd10], 0
mov dword [ebp - 0xd14], 0
mov dword [ebp - 0xd10], 7
mov word [ebp - 0xd24], ax
call fcn.004033d0
push 0
lea eax, [ebp - 0xd24]
mov byte [ebp - 4], 0xc2
push 0xd
push eax
call fcn.004291b0
mov ecx, eax
call fcn.004296a0
lea ecx, [ebp - 0xd24]
mov byte [ebp - 4], 0xc3
call fcn.00403370
mov byte [ebp - 4], 0xc
mov eax, dword [edi + 0x4c]
inc dword [ebp - 0x94c]
lea esi, [eax + 0x74]
test esi, esi
je 0x43ca7b
mov ecx, dword [esi]
test ecx, ecx
je 0x43ca7b
push ecx
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [edi + 0x4c]
mov ecx, dword [ebp - 0x94c]
mov dword [eax + 0x170], ecx
mov byte [ebp - 4], 0xc7
test esi, esi
je 0x43ca9c
mov eax, dword [esi]
test eax, eax
je 0x43ca9c
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 4], 0xc
mov esi, dword [edi + 0x4c]
add esi, 0x74
mov dword [ebp - 0xcf0], 0
mov dword [ebp - 0xcf0], esi
je 0x43cac5
mov eax, dword [esi]
test eax, eax
je 0x43cac5
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
lea eax, [ebp - 0xb38]
mov byte [ebp - 4], 0xc8
mov ecx, dword [edi + 0x4c]
push eax
call fcn.0043ce60
mov byte [ebp - 4], 0xc9
test esi, esi
je 0x43caf7
mov eax, dword [esi]
test eax, eax
je 0x43caed
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov dword [ebp - 0xcf0], 0
lea esi, [edi + 0x4c]
mov byte [ebp - 4], 0xc
test esi, esi
je 0x43cb27
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
je 0x43cb11
call fcn.0043d670
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x16c]
test ecx, ecx
je 0x43cb27
mov eax, dword [ecx]
call dword [eax]
jmp 0x43cb27
mov edi, dword [ebp - 0xce0]
lea ecx, [ebp - 0xa64]
mov dword [ebp - 4], 0xcb
call fcn.00403370
lea ecx, [ebp - 0xa94]
mov byte [ebp - 4], 0xcf
call fcn.00403370
lea ecx, [ebp - 0xaac]
mov byte [ebp - 4], 0xd3
call fcn.00403370
lea ecx, [ebp - 0xae0]
mov byte [ebp - 4], 0xd7
call fcn.00403370
lea ecx, [ebp - 0xaf8]
mov byte [ebp - 4], 0xdb
call fcn.00403370
lea ecx, [ebp - 0xb10]
mov byte [ebp - 4], 0xdf
call fcn.00403370
lea ecx, [ebp - 0xb28]
mov byte [ebp - 4], 0xe3
call fcn.00403370
mov dword [ebp - 4], 0xffffffff
cmp byte [edi + 0xa8], 0
jne 0x43cbce
mov eax, dword [edi + 0x24]
test eax, eax
je 0x43cbce
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x43cbce
mov edi, dword [ebp - 0xcd0]
mov esi, dword [ebp - 0xce0]
jmp 0x43b554
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0050f27d
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret