Function at 0x405be0
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x431da6
mov eax, dword fs:[0]
push eax
sub esp, 0xa8
mov eax, dword [0x43e040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 1
xorps xmm0, xmm0
mov eax, dword [ebp + 0xc]
movlpd qword [ebp - 0x18], xmm0
cmp dword [eax - 0xc], 0
je 0x405c48
lea ecx, [ebp - 0x16]
push ecx
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x12]
push ecx
push str._hd._hd._hd
push eax
call fcn.004010f0
add esp, 0x14
mov ecx, dword [0x43f648]
lea ecx, [ecx - 0x10]
call fcn.0040a000
add eax, 0x10
mov dword [ebp - 0x60], eax
push 7
push str.Config_
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 2
call fcn.0040a490
call fcn.00401550
mov ecx, eax
test ecx, ecx
je 0x407bce
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 3
mov edi, dword [edi]
mov edi, dword [edi]
mov dword [ebp - 0x40], edi
cmp byte [edi + 0xd], 0
jne 0x407aad
mov eax, dword [ebp - 0x60]
add eax, 0xfffffff0
mov dword [ebp - 0x5c], eax
nop dword [eax]
mov ecx, eax
call fcn.0040a000
add eax, 0x10
mov dword [ebp - 0x44], eax
push 0x28
push str._Report_By_YY.Depends.Analyzer__Target:
lea ecx, [ebp - 0x1c]
mov byte [ebp - 4], 4
call fcn.0040a5e0
movzx eax, word [edi + 0x10]
cmp eax, 0x8664
ja 0x405e9a
je 0x405e10
mov ecx, eax
sub ecx, 0x14c
je 0x405d86
sub ecx, 0x74
jne 0x405ea1
push 4
push 0x43aa6c
lea ecx, [ebp - 0x44]
call fcn.0040a490
cmp dword [ebp - 0x14], 0x60002
ja 0x405d2e
jb 0x405d1f
cmp dword [ebp - 0x18], 0x23f00000
jae 0x405d2e
push 8
push str.6.2.9200
lea ecx, [ebp + 0xc]
call fcn.0040a140
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
call fcn.00409720
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x30], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x405d6a
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + eax], 0x2d
cmp esi, dword [eax - 8]
jg 0x407bd8
push 3
push 0x43aa8c
jmp 0x405f4c
push 4
push str.x86_
lea ecx, [ebp - 0x44]
call fcn.0040a490
cmp dword [ebp - 0x14], 0x50001
ja 0x405db8
jb 0x405da9
cmp dword [ebp - 0x18], 0xa280000
jae 0x405db8
push 8
push str.5.1.2600
lea ecx, [ebp + 0xc]
call fcn.0040a140
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
call fcn.00409720
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x30], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x405df4
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + eax], 0x2d
cmp esi, dword [eax - 8]
jg 0x407bd8
push 3
push 0x43aa44
jmp 0x405f4c
push 4
push 0x43aa48
lea ecx, [ebp - 0x44]
call fcn.0040a490
cmp dword [ebp - 0x14], 0x50002
ja 0x405e42
jb 0x405e33
cmp dword [ebp - 0x18], 0xece0000
jae 0x405e42
push 8
push str.5.2.3790
lea ecx, [ebp + 0xc]
call fcn.0040a140
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
call fcn.00409720
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x30], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x405e7e
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + eax], 0x2d
cmp esi, dword [eax - 8]
jg 0x407bd8
push 3
push 0x43aa68
jmp 0x405f4c
cmp eax, 0xaa64
je 0x405ec7
push eax
lea eax, [ebp - 0x1c]
push 0x43a6ec
push eax
call fcn.0040a7b0
add esp, 0xc
lea ecx, [ebp - 0x44]
push 7
push str.unknow_
call fcn.0040a490
jmp 0x405f5b
push 6
push 0x43aa90
lea ecx, [ebp - 0x44]
call fcn.0040a490
cmp dword [ebp - 0x14], 0xa0000
ja 0x405ef9
jb 0x405eea
cmp dword [ebp - 0x18], 0x4a610000
jae 0x405ef9
push 0xa
push str.10.0.19041
lea ecx, [ebp + 0xc]
call fcn.0040a140
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
call fcn.00409720
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x30], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x405f35
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x30]
mov byte [ecx + eax], 0x2d
cmp esi, dword [eax - 8]
jg 0x407bd8
push 5
push str.arm64
mov dword [eax - 0xc], esi
lea ecx, [ebp - 0x1c]
mov byte [esi + eax], 0
call fcn.0040a5e0
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x38], eax
lea edx, [eax + 1]
mov dword [ebp - 0x30], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x405f92
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov byte [eax + esi], 0x29
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x38], eax
lea edx, [eax + 1]
mov dword [ebp - 0x30], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x405fdd
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov byte [eax + esi], 0xd
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x38], eax
lea edx, [eax + 1]
mov dword [ebp - 0x30], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406028
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov byte [eax + esi], 0xa
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
lea eax, [ebp + 0xc]
mov byte [edx + esi], 0
lea ecx, [ebp - 0x4c]
push eax
lea edx, [ebp - 0x44]
call fcn.00408f20
add esp, 4
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x40606a
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
test eax, eax
jne 0x406078
call fcn.00401550
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
push eax
push ecx
lea ecx, [ebp - 0x68]
call fcn.00409ca0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x4c]
mov eax, dword [ebp - 0x68]
push dword [eax - 0xc]
push eax
call fcn.0040a490
mov byte [ebp - 4], 5
or eax, 0xffffffff
mov edx, dword [ebp - 0x68]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4060b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
movzx eax, word [edi + 0x10]
push ecx
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x94], esp
lea ecx, [ecx - 0x10]
call fcn.0040a000
mov ecx, dword [ebp - 0x30]
mov edx, esp
add eax, 0x10
mov dword [edx], eax
call fcn.00401e20
add esp, 4
mov dword [ebp - 0x48], eax
test eax, eax
jne 0x4061e4
push 0xe
push str.not_spuuorted
lea ecx, [ebp - 0x1c]
call fcn.0040a5e0
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x1c]
call fcn.00409720
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x38], eax
lea edx, [eax + 1]
mov dword [ebp - 0x30], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or ecx, eax
jge 0x40613b
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov byte [eax + esi], 0xd
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x38], eax
lea edx, [eax + 1]
mov dword [ebp - 0x30], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406186
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x38]
mov byte [eax + esi], 0xa
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
or eax, 0xffffffff
mov byte [edx + esi], 0
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4061bc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
or eax, 0xffffffff
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407a55
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x407a55
cmp byte [0x43f639], 0
mov edi, dword [edi + 0x14]
mov edi, dword [edi]
mov dword [ebp - 0x3c], edi
je 0x40701e
cmp byte [edi + 0xd], 0
jne 0x407989
mov eax, dword [edi + 0x14]
mov edx, dword [eax - 0xc]
mov dword [ebp - 0x28], edx
test edx, edx
js 0x407bd8
mov ecx, 1
sub ecx, dword [eax - 4]
mov eax, dword [eax - 8]
sub eax, edx
or eax, ecx
jge 0x406231
push edx
lea ecx, [edi + 0x14]
call fcn.0040a580
mov edx, dword [ebp - 0x28]
lea eax, [edx + 1]
push eax
push dword [edi + 0x14]
call fcn.0041cd79
push eax
call fcn.004012b0
mov eax, dword [edi + 0x14]
add esp, 0xc
mov ecx, dword [ebp - 0x28]
cmp ecx, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], ecx
mov eax, dword [edi + 0x14]
push ecx
mov dword [ebp - 0x98], esp
mov byte [ecx + eax], 0
mov ecx, dword [edi + 0x14]
sub ecx, 0x10
call fcn.0040a260
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp - 0x48]
call fcn.00401ca0
mov dword [ebp - 0x38], eax
xor cl, cl
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x30], eax
mov byte [ebp - 0x32], cl
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4062bc
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x30]
mov byte [eax + esi], 0x23
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406307
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0x23
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406352
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
lea ecx, [ebp - 0x1c]
mov byte [edx + esi], 0
mov eax, dword [edi + 0x14]
push dword [eax - 0xc]
push eax
call fcn.0040a5e0
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4063af
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0xd
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4063fa
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0xa
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov edi, dword [edi + 0x18]
mov edi, dword [edi]
cmp byte [edi + 0xd], 0
jne 0x406fac
cmp dword [ebp - 0x38], 0
lea eax, [edi + 0x14]
mov dword [ebp - 0x2c], eax
je 0x406456
push ecx
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x9c], esp
call fcn.0040a260
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp - 0x38]
call fcn.00401b70
test al, al
jne 0x406ecd
jmp 0x406459
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x40]
movzx eax, word [eax + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], esp
mov dword [ebp - 0x80], esp
lea ecx, [ecx - 0x10]
call fcn.0040a000
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
push ecx
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 7
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x84], esp
mov ecx, dword [ecx]
sub ecx, 0x10
call fcn.0040a260
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c]
push ecx
mov byte [ebp - 4], 8
mov dword [ebp - 0x90], esp
mov ecx, dword [eax + 0x14]
sub ecx, 0x10
call fcn.0040a260
mov edx, dword [ebp - 0x28]
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 5
call fcn.00402470
mov eax, dword [ebp - 0x3c]
add esp, 0xc
mov byte [ebp - 4], 9
mov dword [ebp - 0x70], esp
mov ecx, dword [eax + 0x14]
sub ecx, 0x10
call fcn.0040a260
mov edx, dword [ebp - 0x2c]
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x40]
mov cx, word [eax + 0x10]
call fcn.00405590
mov eax, dword [ebp - 0x40]
add esp, 4
mov edx, dword [ebp - 0x2c]
mov cx, word [eax + 0x10]
call fcn.00404dd0
mov byte [ebp - 0x31], al
test al, al
je 0x406525
cmp byte [0x43f638], 0
jne 0x406eae
mov eax, dword [esi - 0xc]
mov byte [ebp - 0x32], 1
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
mov dword [ebp - 0x28], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x40655d
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov byte [eax + esi], 0x2a
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x28], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4065a8
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x28], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4065f3
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov byte [eax + esi], 0x5b
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x28], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x40663e
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
cmp byte [ebp - 0x31], 0
mov ecx, 0x78
mov eax, 0x20
cmovne eax, ecx
mov ecx, dword [ebp - 0x28]
mov byte [ecx + esi], al
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x28], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406699
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov byte [eax + esi], 0x5d
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x28], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4066e4
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [edi + 0x18]
cmp dword [eax - 0xc], 0
jne 0x406709
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
push dword [eax - 0xc]
lea ecx, [ebp - 0x1c]
push eax
call fcn.0040a5e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x406746
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0xd
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x40678b
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0xa
cmp esi, dword [eax - 8]
jg 0x407bd8
cmp byte [ebp - 0x31], 0
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
jne 0x406980
mov ecx, dword [ebp - 0x48]
lea eax, [edi + 0x14]
push eax
lea eax, [ebp - 0xa8]
add ecx, 8
push eax
call fcn.0040c0a0
mov esi, dword [ebp - 0xa0]
cmp byte [esi + 0xd], 0
jne 0x406980
mov eax, dword [esi + 0x10]
test eax, eax
je 0x407bce
push eax
push dword [edi + 0x14]
call fcn.00415ebf
add esp, 8
test eax, eax
js 0x406980
mov eax, dword [ebp - 0x48]
cmp esi, dword [eax + 8]
je 0x406980
push 0x2c
push str.____Tips:_YY_Thunks_not_ready__but_found_in
lea ecx, [ebp - 0x1c]
call fcn.0040a5e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x40683d
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x22
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
lea ecx, [ebp - 0x1c]
mov byte [esi + eax], 0
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax + 0x14]
push dword [eax - 0xc]
push eax
call fcn.0040a5e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x40689a
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x22
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x4068df
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0x2e
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x406924
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0xd
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x406969
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0xa
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov eax, dword [ebp - 0x54]
cmp dword [eax - 0xc], 0
je 0x406a38
push 0x12
push str.____Supported_OS:
lea ecx, [ebp - 0x1c]
call fcn.0040a5e0
mov eax, dword [ebp - 0x54]
lea ecx, [ebp - 0x1c]
push dword [eax - 0xc]
push eax
call fcn.0040a5e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x4069dc
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0xd
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x20], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x406a21
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
mov byte [ecx + eax], 0xa
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [edi + 0x1c]
mov eax, dword [edi + 0x20]
sub eax, ecx
mov dword [ebp - 0x20], ecx
and eax, 0xfffffffc
cmp eax, 4
jne 0x406c05
mov byte [ebp - 4], 0xa
mov eax, dword [ecx]
mov ecx, dword [eax - 0x10]
test ecx, ecx
je 0x406a69
mov eax, dword [ecx]
mov eax, dword [eax + 0x10]
call eax
mov ecx, eax
test ecx, ecx
jne 0x406a81
call fcn.00401550
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x10]
call eax
mov ecx, eax
test ecx, ecx
je 0x407bce
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
or dword [ebp - 0x50], 1
lea esi, [eax + 0x10]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x6c], esi
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x28], ecx
lea edx, [ecx + 0x10]
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406ac8
push edx
lea ecx, [ebp - 0x6c]
call fcn.0040a580
mov esi, dword [ebp - 0x6c]
test esi, esi
jne 0x406ade
call fcn.0041d095
mov dword [eax], 0x16
call fcn.0041cd18
jmp 0x406ae8
movups xmm0, xmmword [str.____Ref_Module:]
movups xmmword [esi], xmm0
mov eax, dword [ebp - 0x28]
lea ecx, [esi + 0x10]
test eax, eax
je 0x406b25
test ecx, ecx
je 0x406b15
mov edx, dword [ebp - 0x20]
push eax
test edx, edx
je 0x406b0a
push edx
push ecx
call fcn.0040eef0
add esp, 0xc
jmp 0x406b25
push 0
push ecx
call fcn.0040f470
add esp, 0xc
call fcn.0041d095
mov dword [eax], 0x16
call fcn.0041cd18
mov eax, dword [ebp - 0x28]
add eax, 0x10
cmp eax, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], eax
lea ecx, [ebp - 0x1c]
mov byte [eax + esi], 0
push dword [esi - 0xc]
push esi
call fcn.0040a5e0
and dword [ebp - 0x50], 0xfffffffe
add esi, 0xfffffff0
mov byte [ebp - 4], 9
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x406b67
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x28], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406b9e
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov byte [eax + esi], 0xd
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x28], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406be9
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov byte [eax + esi], 0xa
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
jmp 0x406eae
push 0x12
push str.____Ref_Module:__r_n
lea ecx, [ebp - 0x1c]
call fcn.0040a5e0
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
cmp eax, ecx
je 0x406eae
nop dword [eax + eax]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406c64
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406caf
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406cfa
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406d45
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406d90
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0x2d
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406ddb
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x1c]
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [eax]
push dword [eax - 0xc]
push eax
call fcn.0040a5e0
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406e3a
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0xd
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x2c], eax
lea edx, [eax + 1]
mov dword [ebp - 0x20], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x406e85
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov byte [eax + esi], 0xa
cmp edx, dword [esi - 8]
jg 0x407bd8
mov ecx, dword [ebp - 0x28]
add ecx, 4
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov dword [ebp - 0x28], ecx
cmp ecx, dword [ebp - 0x24]
jne 0x406c30
mov byte [ebp - 4], 5
or eax, 0xffffffff
mov edx, dword [ebp - 0x54]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x406ecd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi + 8]
cmp byte [eax + 0xd], 0
je 0x406ef4
mov eax, dword [edi + 4]
cmp byte [eax + 0xd], 0
jne 0x406ef0
nop
cmp edi, dword [eax + 8]
jne 0x406ef0
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x406ee0
mov edi, eax
jmp 0x406f0c
mov edi, eax
mov ecx, dword [edi]
cmp byte [ecx + 0xd], 0
jne 0x406f0c
nop
mov eax, dword [ecx]
mov edi, ecx
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x406f00
cmp byte [edi + 0xd], 0
je 0x406420
cmp byte [ebp - 0x32], 0
je 0x406fac
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x24], eax
lea edi, [eax + 1]
test edi, edi
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x406f4e
push edi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov byte [eax + esi], 0xd
cmp edi, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x24], eax
lea edi, [eax + 1]
test edi, edi
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x406f93
push edi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov byte [eax + esi], 0xa
cmp edi, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
jmp 0x406fc7
mov eax, dword [ebp - 0x30]
test eax, eax
js 0x407bd8
cmp eax, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], eax
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x3c]
mov edi, dword [eax + 8]
cmp byte [edi + 0xd], 0
je 0x406ff5
mov edi, dword [eax + 4]
cmp byte [edi + 0xd], 0
jne 0x406ff0
nop dword [eax]
cmp eax, dword [edi + 8]
jne 0x406ff0
mov eax, edi
mov edi, dword [edi + 4]
cmp byte [edi + 0xd], 0
je 0x406fe0
mov dword [ebp - 0x3c], edi
jmp 0x40700f
mov ecx, dword [edi]
mov dword [ebp - 0x3c], edi
cmp byte [ecx + 0xd], 0
jne 0x40700f
mov eax, dword [ecx]
mov edi, ecx
mov dword [ebp - 0x3c], edi
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x407000
cmp byte [edi + 0xd], 0
je 0x406203
jmp 0x407989
cmp byte [edi + 0xd], 0
jne 0x407989
push ecx
mov ecx, dword [edi + 0x14]
sub ecx, 0x10
mov dword [ebp - 0x74], esp
call fcn.0040a260
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp - 0x48]
call fcn.00401ca0
mov dword [ebp - 0x30], eax
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x38], eax
mov byte [ebp - 0x31], 0
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x407081
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x38]
mov byte [eax + esi], 0x23
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4070cc
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov byte [eax + esi], 0x23
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x407117
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
lea ecx, [ebp - 0x1c]
mov byte [edx + esi], 0
mov eax, dword [edi + 0x14]
push dword [eax - 0xc]
push eax
call fcn.0040a5e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x40716e
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0xd
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x4071b3
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0xa
cmp esi, dword [eax - 8]
jg 0x407bd8
push 0x5c
mov dword [eax - 0xc], esi
lea ecx, [ebp - 0x1c]
push str._API_________________________________________YY_Thunks_Ready__Supported_OS__Ref_Module_r_n
mov byte [esi + eax], 0
call fcn.0040a5e0
push 0x5a
push str._____________________________________________________________________________________r_n
lea ecx, [ebp - 0x1c]
call fcn.0040a5e0
mov edi, dword [edi + 0x18]
mov esi, dword [ebp - 0x1c]
mov edi, dword [edi]
mov dword [ebp - 0x28], edi
cmp byte [edi + 0xd], 0
jne 0x407889
nop dword [eax]
cmp dword [ebp - 0x30], 0
lea eax, [edi + 0x14]
mov dword [ebp - 0x2c], eax
je 0x407233
push ecx
mov ecx, dword [eax]
sub ecx, 0x10
mov dword [ebp - 0x78], esp
call fcn.0040a260
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov ecx, dword [ebp - 0x30]
call fcn.00401b70
test al, al
jne 0x407835
jmp 0x407236
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x40]
movzx eax, word [eax + 0x10]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x64], esp
mov dword [ebp - 0x88], esp
lea ecx, [ecx - 0x10]
call fcn.0040a000
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
push ecx
mov ecx, dword [ebp - 0x2c]
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x20], esp
mov dword [ebp - 0x8c], esp
mov ecx, dword [ecx]
sub ecx, 0x10
call fcn.0040a260
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x3c]
push ecx
mov byte [ebp - 4], 0xc
mov dword [ebp - 0x7c], esp
mov ecx, dword [eax + 0x14]
sub ecx, 0x10
call fcn.0040a260
mov edx, dword [ebp - 0x24]
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 5
call fcn.00402470
mov eax, dword [ebp - 0x3c]
add esp, 0xc
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x64], esp
mov ecx, dword [eax + 0x14]
sub ecx, 0x10
call fcn.0040a260
mov edx, dword [ebp - 0x2c]
mov ecx, esp
add eax, 0x10
mov dword [ecx], eax
mov eax, dword [ebp - 0x40]
mov cx, word [eax + 0x10]
call fcn.00405590
mov eax, dword [ebp - 0x40]
add esp, 4
mov edx, dword [ebp - 0x2c]
mov cx, word [eax + 0x10]
call fcn.00404dd0
mov byte [ebp - 0x32], al
test al, al
je 0x407302
cmp byte [0x43f638], 0
jne 0x407816
mov eax, dword [esi - 0xc]
mov byte [ebp - 0x31], 1
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x40733a
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov byte [eax + esi], 0x7c
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x407385
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [edi + 0x18]
cmp dword [eax - 0xc], 0
jne 0x4073aa
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
push dword [eax - 0xc]
lea ecx, [ebp - 0x1c]
push eax
call fcn.0040a5e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x4073e7
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0x20
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x40742c
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0x7c
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x407471
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0x20
cmp esi, dword [eax - 8]
jg 0x407bd8
cmp byte [ebp - 0x32], 0
mov edx, 0x43ac14
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov eax, 0x43ac18
cmove edx, eax
mov ecx, edx
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4074a0
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a5e0
cmp byte [ebp - 0x32], 0
jne 0x4075bb
mov ecx, dword [ebp - 0x48]
lea eax, [edi + 0x14]
push eax
lea eax, [ebp - 0xb4]
add ecx, 8
push eax
call fcn.0040c0a0
mov esi, dword [ebp - 0xac]
cmp byte [esi + 0xd], 0
jne 0x4075bb
mov eax, dword [esi + 0x10]
test eax, eax
je 0x407bce
push eax
push dword [edi + 0x14]
call fcn.00415ebf
add esp, 8
test eax, eax
js 0x4075bb
mov eax, dword [ebp - 0x48]
cmp esi, dword [eax + 8]
je 0x4075bb
push 0x10
push str.__but_found_in__
lea ecx, [ebp - 0x1c]
call fcn.0040a5e0
mov eax, dword [esi + 0x14]
lea ecx, [ebp - 0x1c]
push dword [eax - 0xc]
push eax
call fcn.0040a5e0
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x40755d
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0x22
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x4075a2
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0x2e
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
jmp 0x4075be
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x4075ec
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0x20
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x407631
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0x7c
cmp esi, dword [eax - 8]
jg 0x407bd8
mov dword [eax - 0xc], esi
mov byte [esi + eax], 0
mov ecx, dword [eax - 0xc]
mov dword [ebp - 0x24], ecx
lea esi, [ecx + 1]
test esi, esi
js 0x407bd8
mov ecx, dword [eax - 8]
mov edx, 1
sub edx, dword [eax - 4]
sub ecx, esi
or ecx, edx
jge 0x407676
push esi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
mov byte [ecx + eax], 0x20
cmp esi, dword [eax - 8]
jg 0x407bd8
sub esp, 8
mov dword [eax - 0xc], esi
lea ecx, [ebp - 0x58]
mov byte [esi + eax], 0
call fcn.00409550
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x1c]
push dword [eax - 0xc]
push eax
call fcn.0040a5e0
mov esi, dword [ebp - 0x1c]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4076de
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov byte [eax + esi], 0x20
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x407729
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov byte [eax + esi], 0x7c
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
cmp eax, ecx
je 0x407780
mov esi, eax
mov edi, ecx
mov eax, dword [esi]
lea ecx, [ebp - 0x1c]
push dword [eax - 0xc]
push eax
call fcn.0040a5e0
add esi, 4
cmp esi, edi
je 0x40777a
push 4
push str._br_
lea ecx, [ebp - 0x1c]
call fcn.0040a5e0
jmp 0x407754
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x28]
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4077b4
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov byte [eax + esi], 0xd
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x20], eax
lea edx, [eax + 1]
mov dword [ebp - 0x24], edx
test edx, edx
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edx
or eax, ecx
jge 0x4077ff
push edx
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov byte [eax + esi], 0xa
cmp edx, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edx
mov byte [edx + esi], 0
mov byte [ebp - 4], 5
or eax, 0xffffffff
mov edx, dword [ebp - 0x58]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407835
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [edi + 8]
cmp byte [eax + 0xd], 0
je 0x40785e
mov eax, dword [edi + 4]
cmp byte [eax + 0xd], 0
jne 0x407857
cmp edi, dword [eax + 8]
jne 0x407857
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x407847
mov edi, eax
mov dword [ebp - 0x28], edi
jmp 0x40787f
mov edi, eax
mov dword [ebp - 0x28], edi
mov ecx, dword [edi]
cmp byte [ecx + 0xd], 0
jne 0x40787f
nop dword [eax + eax]
mov eax, dword [ecx]
mov edi, ecx
mov dword [ebp - 0x28], edi
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x407870
cmp byte [edi + 0xd], 0
je 0x407200
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x24], eax
lea edi, [eax + 1]
test edi, edi
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x4078b7
push edi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov byte [eax + esi], 0xd
cmp edi, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x24], eax
lea edi, [eax + 1]
test edi, edi
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x4078fc
push edi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov byte [eax + esi], 0xa
cmp edi, dword [esi - 8]
jg 0x407bd8
cmp byte [ebp - 0x31], 0
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
jne 0x407934
mov eax, dword [ebp - 0x38]
test eax, eax
js 0x407bd8
cmp eax, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], eax
mov byte [eax + esi], 0
mov eax, dword [ebp - 0x3c]
mov edi, dword [eax + 8]
cmp byte [edi + 0xd], 0
je 0x407965
mov edi, dword [eax + 4]
cmp byte [edi + 0xd], 0
jne 0x407960
nop dword [eax]
cmp eax, dword [edi + 8]
jne 0x407960
mov eax, edi
mov edi, dword [edi + 4]
cmp byte [edi + 0xd], 0
je 0x407950
mov dword [ebp - 0x3c], edi
jmp 0x40797f
mov ecx, dword [edi]
mov dword [ebp - 0x3c], edi
cmp byte [ecx + 0xd], 0
jne 0x40797f
mov eax, dword [ecx]
mov edi, ecx
mov dword [ebp - 0x3c], edi
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x407970
cmp byte [edi + 0xd], 0
je 0x407028
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x24], eax
lea edi, [eax + 1]
test edi, edi
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x4079b7
push edi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov byte [eax + esi], 0xd
cmp edi, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
mov eax, dword [esi - 0xc]
mov dword [ebp - 0x24], eax
lea edi, [eax + 1]
test edi, edi
js 0x407bd8
mov eax, dword [esi - 8]
mov ecx, 1
sub ecx, dword [esi - 4]
sub eax, edi
or eax, ecx
jge 0x4079fc
push edi
lea ecx, [ebp - 0x1c]
call fcn.0040a580
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov byte [eax + esi], 0xa
cmp edi, dword [esi - 8]
jg 0x407bd8
mov dword [esi - 0xc], edi
mov byte [edi + esi], 0
or edi, 0xffffffff
mov byte [ebp - 4], 4
mov eax, edi
mov edx, dword [ebp - 0x4c]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407a34
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 3
mov eax, edi
mov edx, dword [ebp - 0x44]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407a52
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edi, dword [ebp - 0x40]
mov eax, dword [edi + 8]
cmp byte [eax + 0xd], 0
je 0x407a7e
mov eax, dword [edi + 4]
cmp byte [eax + 0xd], 0
jne 0x407a77
cmp edi, dword [eax + 8]
jne 0x407a77
mov edi, eax
mov eax, dword [eax + 4]
cmp byte [eax + 0xd], 0
je 0x407a67
mov edi, eax
mov dword [ebp - 0x40], edi
jmp 0x407a9f
mov edi, eax
mov dword [ebp - 0x40], edi
mov ecx, dword [edi]
cmp byte [ecx + 0xd], 0
jne 0x407a9f
nop dword [eax + eax]
mov eax, dword [ecx]
mov edi, ecx
mov dword [ebp - 0x40], edi
mov ecx, eax
cmp byte [eax + 0xd], 0
je 0x407a90
cmp byte [edi + 0xd], 0
jne 0x407aad
mov eax, dword [ebp - 0x5c]
jmp 0x405cb0
mov eax, dword [esi - 0xc]
push 0
push 0x80
push 2
push 0
push 0
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 8]
push 0x40000000
push eax
mov dword [ebp - 0x5c], eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov edi, eax
cmp edi, 0xffffffff
jne 0x407b0d
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
call edi
test eax, eax
jg 0x407aeb
call edi
mov edi, eax
jmp 0x407af6
call edi
movzx edi, ax
or edi, 0x80070000
push edi
push dword [ebp - 0x5c]
push 0x439fa0
call fcn.004010c0
add esp, 0xc
test edi, edi
js 0x407b37
jmp 0x407b27
push 0
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x30]
push esi
push edi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor edi, edi
push dword [ebp + 8]
push 0x43ac3c
call fcn.004010c0
add esp, 8
mov byte [ebp - 4], 2
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x407b53
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 1
or esi, 0xffffffff
mov edx, dword [ebp - 0x60]
mov eax, esi
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407b74
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
mov eax, esi
mov edx, dword [ebp + 8]
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x407b92
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
lock xadd dword [eax + 0xc], esi
dec esi
test esi, esi
jg 0x407bb1
mov ecx, dword [eax]
push eax
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0040d660
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00401290
push 0x80070057
call fcn.00401290
int3