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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x34
call fcn.0065d180
mov eax, dword [0x746694]
xor eax, esp
mov dword [esp + 0x30], eax
push ebx
push esi
mov esi, ecx
push edi
mov dword [esp + 0x18], esi
cmp dword [esi + 0xcc], 0
jne 0x47add8
push dword [esi + 0xc8]
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [esi + 0x80]
test eax, 0x100
jne 0x47adcc
and eax, 0x100100
lea ecx, [esi + 0xb0]
cmp eax, 0x100
jne 0x47a0ee
movups xmm0, xmmword [ecx]
movups xmmword [ecx], xmm0
mov eax, dword [ecx + 0x10]
mov dword [ecx + 0x10], eax
jmp 0x47a112
push 0
push ecx
push esi
mov edx, 0x6ccf10
mov ecx, 0x6cd164
call fcn.0049ecc0
add esp, 0xc
test eax, eax
jne 0x47a112
or dword [esi + 0x80], 0x100080
push esi
call fcn.00476c00
add esp, 4
test eax, eax
jne 0x47a126
or dword [esi + 0x80], 0x40
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47a23d
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47a23d
nop dword [eax]
test edi, edi
js 0x47a166
cmp edi, dword [ecx]
jge 0x47a166
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47a168
mov ecx, dword [ebx]
jmp 0x47a16a
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x57
jne 0x47a187
cmp dword [esp + 0x10], 0
jne 0x47a233
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47a18b
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47a150
test edx, edx
je 0x47a23d
mov ecx, edx
call fcn.004a8cc0
mov edi, eax
test edi, edi
je 0x47a233
cmp dword [edi], 0
je 0x47a1be
or dword [esi + 0x80], 0x10
mov ecx, dword [edi + 4]
mov eax, dword [esi + 0x80]
test ecx, ecx
je 0x47a20c
cmp dword [ecx + 4], 0x102
jne 0x47a1e8
or eax, 0x80
mov dword [esi + 0x78], 0
mov dword [esi + 0x80], eax
jmp 0x47a213
call fcn.004a6940
mov dword [esi + 0x78], eax
cmp dword [edi], 0
jne 0x47a213
test eax, eax
je 0x47a213
or dword [esi + 0x80], 0x80
mov dword [esi + 0x78], 0
jmp 0x47a213
mov dword [esi + 0x78], 0xffffffff
push 0
mov edx, 0x6dd4bc
mov dword [esp + 0x38], edi
lea ecx, [esp + 0x38]
call fcn.0048c2e0
add esp, 4
or dword [esi + 0x80], 1
jmp 0x47a23d
or dword [esi + 0x80], 0x80
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47a36d
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47a36d
test edi, edi
js 0x47a279
cmp edi, dword [ecx]
jge 0x47a279
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47a27b
mov ecx, dword [ebx]
jmp 0x47a27d
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x297
jne 0x47a29c
cmp dword [esp + 0x10], 0
jne 0x47a363
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47a2a0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47a263
test edx, edx
je 0x47a36d
mov ecx, edx
call fcn.004a8cc0
mov edi, eax
test edi, edi
je 0x47a363
test byte [esi + 0x80], 0x10
jne 0x47a2fa
push 0xffffffffffffffff
mov edx, 0x55
mov ecx, esi
call fcn.00477c10
add esp, 4
test eax, eax
jns 0x47a2fa
push 0xffffffffffffffff
mov edx, 0x56
mov ecx, esi
call fcn.00477c10
add esp, 4
test eax, eax
js 0x47a304
or dword [esi + 0x80], 0x80
mov edx, dword [edi]
test edx, edx
je 0x47a33a
push 2
lea ecx, [esp + 0x2c]
call fcn.004a64c0
add esp, 4
test eax, eax
je 0x47a33a
mov ecx, dword [esp + 0x28]
mov edx, ecx
mov eax, dword [esp + 0x2c]
add edx, 0x80000000
adc eax, 0
test eax, eax
ja 0x47a33a
jb 0x47a33d
cmp edx, 0xffffffff
jbe 0x47a33d
or ecx, 0xffffffff
mov dword [esi + 0x7c], ecx
mov edx, 0x6dd424
push 0
lea ecx, [esp + 0x3c]
mov dword [esp + 0x3c], edi
call fcn.0048c2e0
add esp, 4
or dword [esi + 0x80], 0x400
jmp 0x47a36d
or dword [esi + 0x80], 0x80
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47a45f
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47a45f
test edi, edi
js 0x47a3a9
cmp edi, dword [ecx]
jge 0x47a3a9
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47a3ab
mov ecx, dword [ebx]
jmp 0x47a3ad
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x53
jne 0x47a3ca
cmp dword [esp + 0x10], 0
jne 0x47a455
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47a3ce
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47a393
test edx, edx
je 0x47a45f
mov ecx, edx
call fcn.004a8cc0
mov edi, eax
test edi, edi
je 0x47a455
cmp dword [edi], 0
jle 0x47a41b
mov ecx, dword [edi + 8]
movzx ecx, byte [ecx]
mov dword [esi + 0x84], ecx
cmp dword [edi], 1
jle 0x47a425
mov eax, dword [edi + 8]
movzx eax, byte [eax + 1]
shl eax, 8
or eax, ecx
mov dword [esi + 0x84], eax
jmp 0x47a425
mov dword [esi + 0x84], 0
or dword [esi + 0x80], 2
mov eax, dword [edi + 0xc]
mov ebx, eax
and ebx, 0x80
test al, 0x10
jne 0x47a446
push dword [edi + 8]
call fcn.00663ce7
add esp, 4
test ebx, ebx
jne 0x47a45f
push edi
call fcn.00663ce7
add esp, 4
jmp 0x47a45f
or dword [esi + 0x80], 0x80
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x88], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47a675
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47a675
nop
test edi, edi
js 0x47a4a6
cmp edi, dword [ecx]
jge 0x47a4a6
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47a4a8
mov ecx, dword [ebx]
jmp 0x47a4aa
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x7e
jne 0x47a4c7
cmp dword [esp + 0x10], 0
jne 0x47a66b
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47a4cb
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47a490
test edx, edx
je 0x47a675
mov ecx, edx
call fcn.004a8cc0
mov dword [esp + 0x10], eax
test eax, eax
je 0x47a66b
or dword [esi + 0x80], 4
xor edi, edi
nop dword [eax]
mov ecx, dword [eax]
cmp edi, ecx
jge 0x47a5e0
test edi, edi
js 0x47a516
mov eax, dword [eax + 4]
mov ecx, dword [eax + edi*4]
jmp 0x47a518
xor ecx, ecx
call fcn.00482a10
cmp eax, 0xb4
jg 0x47a5aa
je 0x47a599
sub eax, 0x81
cmp eax, 0xa
ja case.0x47a538.134
jmp dword [eax*4 + 0x47adec]
or dword [esi + 0x88], 1
inc edi
mov eax, dword [esp + 0x10]
jmp 0x47a500
or dword [esi + 0x88], 2
inc edi
mov eax, dword [esp + 0x10]
jmp 0x47a500
or dword [esi + 0x88], 4
inc edi
mov eax, dword [esp + 0x10]
jmp 0x47a500
or dword [esi + 0x88], 8
inc edi
mov eax, dword [esp + 0x10]
jmp 0x47a500
or dword [esi + 0x88], 0x10
inc edi
mov eax, dword [esp + 0x10]
jmp 0x47a500
or dword [esi + 0x88], 0x40
inc edi
mov eax, dword [esp + 0x10]
jmp 0x47a500
or dword [esi + 0x88], 0x20
inc edi
mov eax, dword [esp + 0x10]
jmp 0x47a500
cmp eax, 0x129
je 0x47a5cc
cmp eax, 0x38e
jne case.0x47a538.134
or dword [esi + 0x88], 0x100
inc edi
mov eax, dword [esp + 0x10]
jmp 0x47a500
or dword [esi + 0x88], 0x80
mov eax, dword [esp + 0x10]
inc edi
jmp 0x47a500
xor ebx, ebx
test ecx, ecx
jle 0x47a652
mov eax, dword [eax + 4]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x47a649
mov eax, dword [edi + 0x14]
test al, 4
je 0x47a61c
push dword [edi]
call fcn.00663ce7
add esp, 4
push dword [edi + 4]
call fcn.00663ce7
mov eax, dword [edi + 0x14]
add esp, 4
mov dword [edi + 4], 0
mov dword [edi], 0
test al, 8
je 0x47a63c
push dword [edi + 0x10]
call fcn.00663ce7
mov eax, dword [edi + 0x14]
add esp, 4
mov dword [edi + 0x10], 0
mov dword [edi + 0xc], 0
test al, 1
je 0x47a649
push edi
call fcn.00663ce7
add esp, 4
mov eax, dword [esp + 0x10]
inc ebx
cmp ebx, dword [eax]
jl 0x47a5e6
push dword [eax + 4]
call fcn.00663ce7
add esp, 4
push dword [esp + 0x10]
call fcn.00663ce7
add esp, 4
jmp 0x47a675
or dword [esi + 0x80], 0x80
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47a745
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47a745
nop dword [eax + eax]
test edi, edi
js 0x47a6b6
cmp edi, dword [ecx]
jge 0x47a6b6
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47a6b8
mov ecx, dword [ebx]
jmp 0x47a6ba
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x47
jne 0x47a6d3
cmp dword [esp + 0x10], 0
jne 0x47a73b
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47a6d7
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47a6a0
test edx, edx
je 0x47a745
mov ecx, edx
call fcn.004a8cc0
mov edi, eax
test edi, edi
je 0x47a73b
cmp dword [edi], 0
jle 0x47a703
mov ecx, dword [edi + 8]
movzx eax, byte [ecx]
jmp 0x47a705
xor eax, eax
mov dword [esi + 0x8c], eax
or dword [esi + 0x80], 8
mov eax, dword [edi + 0xc]
mov ebx, eax
and ebx, 0x80
test al, 0x10
jne 0x47a72c
push dword [edi + 8]
call fcn.00663ce7
add esp, 4
test ebx, ebx
jne 0x47a745
push edi
call fcn.00663ce7
add esp, 4
jmp 0x47a745
or dword [esi + 0x80], 0x80
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47a7ec
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47a7ec
nop dword [eax + eax]
test edi, edi
js 0x47a786
cmp edi, dword [ecx]
jge 0x47a786
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47a788
mov ecx, dword [ebx]
jmp 0x47a78a
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x52
jne 0x47a7a3
cmp dword [esp + 0x10], 0
jne 0x47a7d6
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47a7a7
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47a770
test edx, edx
je 0x47a7ec
mov ecx, edx
call fcn.004a8cc0
mov dword [esi + 0x90], eax
test eax, eax
jne 0x47a7f6
or dword [esi + 0x80], 0x80
jmp 0x47a7f6
or dword [esi + 0x80], 0x80
mov dword [esi + 0x90], 0
jmp 0x47a7f6
mov dword [esi + 0x90], 0
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47a8a4
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47a8a4
nop dword [eax]
test edi, edi
js 0x47a836
cmp edi, dword [ecx]
jge 0x47a836
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47a838
mov ecx, dword [ebx]
jmp 0x47a83a
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x5a
jne 0x47a853
cmp dword [esp + 0x10], 0
jne 0x47a88c
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47a857
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47a820
test edx, edx
je 0x47a8a4
mov ecx, edx
call fcn.004a8cc0
mov dword [esi + 0x94], eax
lea edi, [esi + 0x94]
test eax, eax
jne 0x47a8b0
or dword [esi + 0x80], 0x80
jmp 0x47a8b0
or dword [esi + 0x80], 0x80
lea edi, [esi + 0x94]
mov dword [edi], 0
jmp 0x47a8b0
lea edi, [esi + 0x94]
mov dword [edi], 0
mov edx, dword [esi + 0x1c]
mov ecx, dword [esi + 0x28]
call fcn.00476de0
test eax, eax
jne 0x47a93b
mov edx, dword [edi]
mov ecx, esi
or dword [esi + 0x80], 0x20
call fcn.0047b270
test eax, eax
jne 0x47a93b
mov edx, dword [esi + 0x2c]
mov dword [esp + 0x1c], eax
test edx, edx
je 0x47a924
cmp dword [edx + 4], eax
je 0x47a924
mov ecx, dword [edx + 8]
test ecx, ecx
jne 0x47a926
lea ecx, [esp + 0x1c]
call fcn.004763a0
mov edi, dword [esp + 0x1c]
test edi, edi
je 0x47a924
mov edx, 0x77
push 0xa2
push str.C:pixelseeinstaller_dependencesopenssl1_1_win_build_1.1.1qcryptox509x_pubkey.c
push 0x44
lea ecx, [edx - 0x6c]
call fcn.0047b7e0
add esp, 0xc
push edi
call fcn.00473000
add esp, 4
xor ecx, ecx
mov edx, esi
call fcn.00479f90
test eax, eax
jne 0x47a93b
or dword [esi + 0x80], 0x2000
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47a9dd
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47a9dd
test edi, edi
js 0x47a977
cmp edi, dword [ecx]
jge 0x47a977
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47a979
mov ecx, dword [ebx]
jmp 0x47a97b
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x55
jne 0x47a994
cmp dword [esp + 0x10], 0
jne 0x47a9c7
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47a998
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47a961
test edx, edx
je 0x47a9dd
mov ecx, edx
call fcn.004a8cc0
mov dword [esi + 0xa0], eax
test eax, eax
jne 0x47a9e7
or dword [esi + 0x80], 0x80
jmp 0x47a9e7
or dword [esi + 0x80], 0x80
mov dword [esi + 0xa0], 0
jmp 0x47a9e7
mov dword [esi + 0xa0], 0
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47aa8e
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47aa8e
nop dword [eax]
test edi, edi
js 0x47aa26
cmp edi, dword [ecx]
jge 0x47aa26
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47aa28
mov ecx, dword [ebx]
jmp 0x47aa2a
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x29a
jne 0x47aa45
cmp dword [esp + 0x10], 0
jne 0x47aa78
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47aa49
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47aa10
test edx, edx
je 0x47aa8e
mov ecx, edx
call fcn.004a8cc0
mov dword [esi + 0xa4], eax
test eax, eax
jne 0x47aa98
or dword [esi + 0x80], 0x80
jmp 0x47aa98
or dword [esi + 0x80], 0x80
mov dword [esi + 0xa4], 0
jmp 0x47aa98
mov dword [esi + 0xa4], 0
mov ecx, esi
call fcn.00479de0
test eax, eax
jne 0x47aaad
or dword [esi + 0x80], 0x80
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47ab51
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47ab51
test edi, edi
js 0x47aae9
cmp edi, dword [ecx]
jge 0x47aae9
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47aaeb
mov ecx, dword [ebx]
jmp 0x47aaed
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x122
jne 0x47ab08
cmp dword [esp + 0x10], 0
jne 0x47ab3b
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47ab0c
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47aad3
test edx, edx
je 0x47ab51
mov ecx, edx
call fcn.004a8cc0
mov dword [esi + 0xa8], eax
test eax, eax
jne 0x47ab5b
or dword [esi + 0x80], 0x80
jmp 0x47ab5b
or dword [esi + 0x80], 0x80
mov dword [esi + 0xa8], 0
jmp 0x47ab5b
mov dword [esi + 0xa8], 0
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
test ecx, ecx
je 0x47abff
xor edi, edi
call fcn.00474210
test eax, eax
jle 0x47abff
test edi, edi
js 0x47ab97
cmp edi, dword [ecx]
jge 0x47ab97
mov eax, dword [ecx + 4]
mov ebx, dword [eax + edi*4]
test ebx, ebx
je 0x47ab99
mov ecx, dword [ebx]
jmp 0x47ab9b
xor ebx, ebx
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x123
jne 0x47abb6
cmp dword [esp + 0x10], 0
jne 0x47abe9
mov edx, ebx
mov dword [esp + 0x10], edx
jmp 0x47abba
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
inc edi
call fcn.00474210
cmp edi, eax
jl 0x47ab81
test edx, edx
je 0x47abff
mov ecx, edx
call fcn.004a8cc0
mov dword [esi + 0xac], eax
test eax, eax
jne 0x47ac09
or dword [esi + 0x80], 0x80
jmp 0x47ac09
or dword [esi + 0x80], 0x80
mov dword [esi + 0xac], 0
jmp 0x47ac09
mov dword [esi + 0xac], 0
mov ecx, esi
xor ebx, ebx
call fcn.00477c00
test eax, eax
jle 0x47acc6
nop word [eax + eax]
mov eax, dword [esi + 0x38]
test eax, eax
je 0x47ac3d
cmp dword [eax], ebx
jle 0x47ac3d
test ebx, ebx
js 0x47ac3d
mov eax, dword [eax + 4]
mov edi, dword [eax + ebx*4]
test edi, edi
je 0x47ac3f
mov ecx, dword [edi]
jmp 0x47ac41
xor edi, edi
xor ecx, ecx
call fcn.00482a10
cmp eax, 0x359
jne 0x47ac57
or dword [esi + 0x80], 0x1000
test edi, edi
je 0x47acaa
cmp dword [edi + 4], 0
jle 0x47acaa
mov ecx, dword [edi]
call fcn.00482a10
mov dword [esp + 0x14], eax
test eax, eax
je 0x47acbc
xor ecx, ecx
mov edi, 0xe
mov esi, eax
nop dword [eax]
lea eax, [edi + ecx]
cdq
sub eax, edx
mov edx, esi
sar eax, 1
sub edx, dword [eax*4 + 0x6cd354]
jns 0x47ac97
mov edi, eax
jmp 0x47ac9e
test edx, edx
jle 0x47aca4
lea ecx, [eax + 1]
cmp ecx, edi
jl 0x47ac80
test edx, edx
mov esi, dword [esp + 0x18]
jne 0x47acbc
mov ecx, esi
inc ebx
call fcn.00477c00
cmp ebx, eax
jl 0x47ac20
jmp 0x47acc6
or dword [esi + 0x80], 0x200
lea ecx, [esp + 0x20]
mov dword [esi + 0x60], 0
lea edi, [esi + 0x60]
mov dword [edi + 4], 0
push ecx
mov dword [edi + 8], 0xffffffff
mov dword [edi + 0xc], 0
push ecx
mov ecx, dword [esi + 0x48]
call fcn.00482a10
add esp, 4
lea edx, [esp + 0x28]
mov ecx, eax
call fcn.004a6c40
add esp, 4
test eax, eax
je 0x47adb8
mov edx, dword [esp + 0x20]
test edx, edx
je 0x47adb8
mov ebx, dword [esp + 0x24]
mov dword [edi + 4], edx
test ebx, ebx
jne 0x47ad55
xor ecx, ecx
call fcn.0048fbd0
test eax, eax
je 0x47adb8
mov ecx, dword [eax + 0x70]
test ecx, ecx
je 0x47adb8
lea eax, [esi + 0x50]
push eax
lea eax, [esi + 0x48]
push eax
push edi
call ecx
add esp, 0xc
test eax, eax
je 0x47adb8
or dword [edi + 0xc], 1
jmp 0x47adb8
or dword [edi + 0xc], 1
mov ecx, ebx
mov dword [edi], ebx
call fcn.00482830
push 0
push 8
xor ecx, ecx
mov dword [esp + 0x20], eax
call fcn.00484340
add esp, 8
test eax, eax
je 0x47adb8
mov ecx, dword [esp + 0x18]
mov edx, 1
call fcn.004daa10
test eax, eax
je 0x47adb8
mov eax, dword [eax + 8]
shl eax, 2
mov dword [edi + 8], eax
cmp ebx, 0x2a1
jg 0x47adac
je 0x47adb4
cmp ebx, 0x40
je 0x47adb4
cmp ebx, 0x2a0
je 0x47adb4
jmp 0x47adb8
cmp ebx, 0x2a2
jne 0x47adb8
or dword [edi + 0xc], 2
or dword [esi + 0x80], 0x100
mov dword [esi + 0xcc], 1
push dword [esi + 0xc8]
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [esp + 0x3c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0065d16a
mov esp, ebp
pop ebp
ret