Function at 0x409c50
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x534a68
mov eax, dword fs:[0]
push eax
sub esp, 0x60
mov eax, dword [0x59024c]
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
xor eax, eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
push 3
push 0x548e5c
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
call fcn.0040c8a0
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 2
push eax
call fcn.004232c0
mov ecx, eax
call fcn.00422420
lea ecx, [ebp - 0x58]
mov byte [ebp - 4], 3
push ecx
lea ecx, [ebp - 0x28]
push ecx
mov ecx, dword [eax]
call fcn.004de2e0
mov ecx, dword [ebp - 0x68]
or esi, 0xffffffff
mov dword [ebp - 0x5c], ecx
test ecx, ecx
je 0x409d0a
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x409d0a
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x5c]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x409d0a
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 1
cmp edx, 8
jb 0x409d48
mov ecx, dword [ebp - 0x28]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x409d3e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b4bc
push edx
push ecx
call fcn.00448d6e
add esp, 8
cmp dword [ebp - 0x48], 0
jne 0x409e6f
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b4c1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x64], eax
mov eax, 0x546af8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x64]
test eax, 0xffff0000
jne 0x409d8c
movzx eax, ax
push eax
call fcn.00405170
jmp 0x409d98
push 0
push 0x546af8
call fcn.00403cb0
push 9
push str.login_url
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 5
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x5c]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 7
push eax
call fcn.00403250
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x409e05
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x409e3d
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409e33
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b4cb
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x64]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x409eac
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x409eac
cmp dword [ebp - 0x44], 8
lea edx, [ebp - 0x58]
lea eax, [edi + 0x68]
cmovae edx, dword [ebp - 0x58]
test edx, edx
jne 0x409e85
xor ecx, ecx
jmp 0x409ea3
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x5c], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x409e90
sub ecx, dword [ebp - 0x5c]
lea eax, [edi + 0x68]
sar ecx, 1
push ecx
push edx
mov ecx, eax
call fcn.00403cb0
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b4d0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
mov eax, 0x546af8
mov byte [ebp - 4], 8
shr eax, 0x10
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x64], eax
test eax, eax
jne 0x409eee
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x409efa
push 0
push 0x546af8
call fcn.00403cb0
push 0xc
push str.info_version
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 9
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0xa
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x409f66
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 9
cmp edx, 0x10
jb 0x409f9e
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x409f94
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b4da
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x409fce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b4df
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0xc
jne 0x40a007
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x40a013
push 0
push 0x546af8
call fcn.00403cb0
push 0xd
push str.kefu_page_url
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0xd
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x74]
mov byte [ebp - 4], 0xf
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0xe
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a080
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0xd
cmp edx, 0x10
jb 0x40a0b8
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a0ae
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b4e9
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a0e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b4ee
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x10
jne 0x40a121
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x40a12d
push 0
push 0x546af8
call fcn.00403cb0
push 0xe
push str.index_page_url
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x70]
mov byte [ebp - 4], 0x13
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x12
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a19a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x11
cmp edx, 0x10
jb 0x40a1d2
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a1c8
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b4f8
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a202
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b4fd
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x14
jne 0x40a23b
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x40a247
push 0
push 0x546af8
call fcn.00403cb0
push 0x11
push str.charge_url_format
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x78]
mov byte [ebp - 4], 0x17
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x16
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a2b4
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x15
cmp edx, 0x10
jb 0x40a2ec
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a2e2
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b507
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a31c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b50c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x18
jne 0x40a355
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x40a361
push 0
push 0x546af8
call fcn.00403cb0
push 0xf
push str.site_url_format
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x6c]
mov byte [ebp - 4], 0x1b
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x1a
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a3ce
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x19
cmp edx, 0x10
jb 0x40a406
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a3fc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b516
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a436
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b51b
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x1c
jne 0x40a46f
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x40a47b
push 0
push 0x546af8
call fcn.00403cb0
push 0xf
push str.uninst_open_url
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x7c]
mov byte [ebp - 4], 0x1f
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x1e
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a4e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x1d
cmp edx, 0x10
jb 0x40a520
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a516
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b525
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a550
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b52a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x20
jne 0x40a589
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x40a595
push 0
push 0x546af8
call fcn.00403cb0
push 0xc
push str.pop_tray_url
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x21
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x80]
mov byte [ebp - 4], 0x23
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x22
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a605
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x21
cmp edx, 0x10
jb 0x40a63d
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a633
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b534
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a66d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b539
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x24
jne 0x40a6a6
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x40a6b2
push 0
push 0x546af8
call fcn.00403cb0
push 0xd
push str.pop_tray_word
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x25
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x84]
mov byte [ebp - 4], 0x27
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x26
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a722
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x25
cmp edx, 0x10
jb 0x40a75a
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a750
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b543
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a78a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x13
push str.startmenu_no_uninst
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp + 8]
call fcn.004dd1b0
mov edx, dword [ebp - 0x14]
mov dword [edi + 0xd4], eax
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x40a7fb
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a7f1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b548
push edx
push ecx
call fcn.00448d6e
add esp, 8
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b54d
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x29
jne 0x40a834
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x40a840
push 0
push 0x546af8
call fcn.00403cb0
push 0xd
push str.tray_icon_tip
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2a
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x2b
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x64]
mov byte [ebp - 4], 0x2c
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x2b
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a8ad
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x14]
mov byte [ebp - 4], 0x2a
cmp edx, 0x10
jb 0x40a8e5
mov ecx, dword [ebp - 0x28]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x40a8db
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40b557
push edx
push ecx
call fcn.00448d6e
add esp, 8
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov dword [ebp - 0x18], 0
add edx, 0xfffffff0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a915
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b55c
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x64], 0
lea ecx, [ebp - 0x5c]
mov byte [ebp - 4], 0x2d
jne 0x40a94e
mov eax, 0x546af8
movzx eax, ax
push eax
call fcn.00405170
jmp 0x40a95a
push 0
push 0x546af8
call fcn.00403cb0
push 0xb
push str.pattern_str
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x2e
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x2f
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x90]
mov byte [ebp - 4], 0x30
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x2f
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a9ca
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40a9f0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x546af8
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 0xc
push str.silence_inst
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x31
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x32
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x88]
mov byte [ebp - 4], 0x33
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x32
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40aa6d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40aa93
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x546af8
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 0x16
push str.run_after_silence_inst
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x34
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x35
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x50]
mov byte [ebp - 4], 0x36
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x35
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ab0d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ab33
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xc
push str.install_tray
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x37
push eax
lea ecx, [ebp + 8]
call fcn.004dd1b0
lea ecx, [ebp - 0x28]
mov dword [edi + 0xc8], eax
mov byte [ebp - 4], 1
call fcn.00408ca0
push 0x18
push str.delay_install_extra_days
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x38
push eax
lea ecx, [ebp + 8]
call fcn.004dd1b0
lea ecx, [ebp - 0x28]
mov dword [edi + 0xcc], eax
mov byte [ebp - 4], 1
call fcn.00408ca0
push 0x546af8
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 0x11
push str.install_open_text
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x39
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x3a
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x8c]
mov byte [ebp - 4], 0x3b
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x3a
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ac3a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ac60
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x13
push str.install_open_select
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [ebp + 8]
call fcn.004dd1b0
lea ecx, [ebp - 0x28]
mov dword [edi + 0xd0], eax
mov byte [ebp - 4], 1
call fcn.00408ca0
push 0x12
push str.install_show_close
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 1
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [ebp + 8]
call fcn.004dd1b0
lea ecx, [ebp - 0x28]
mov dword [edi + 0xd8], eax
mov byte [ebp - 4], 1
call fcn.00408ca0
push 0xe
push str.pepflashplayer
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x3e
push eax
lea ecx, [ebp + 8]
call fcn.004dd1b0
lea ecx, [ebp - 0x28]
mov dword [edi + 0xc4], eax
mov byte [ebp - 4], 1
call fcn.00408ca0
push 0x17
push str.exit_when_close_playwnd
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x3f
push eax
lea ecx, [ebp + 8]
call fcn.004dd1b0
lea ecx, [ebp - 0x28]
mov dword [edi + 0xdc], eax
mov byte [ebp - 4], 1
call fcn.00408ca0
call fcn.004037c0
mov ecx, eax
test ecx, ecx
je 0x40b566
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x64], eax
mov eax, 0x548fdc
mov byte [ebp - 4], 0x40
test eax, 0xffff0000
jne 0x40adae
movzx eax, ax
lea ecx, [ebp - 0x64]
push eax
call fcn.00405170
jmp 0x40ae0b
push 0
push 0
push 0xffffffffffffffff
push 0x548fdc
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
dec eax
lea ecx, [ebp - 0x64]
mov dword [ebp - 0x5c], eax
test eax, eax
jle 0x40ae06
push eax
call fcn.0040ba40
push dword [ebp - 0x5c]
push eax
push 0xffffffffffffffff
push 0x548fdc
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x5c]
cmp ecx, dword [eax - 8]
jg 0x40b570
mov dword [eax - 0xc], ecx
xor edx, edx
mov eax, dword [ebp - 0x64]
mov word [eax + ecx*2], dx
jmp 0x40ae0b
call fcn.00409b70
push 0x11
push str.NotCreateDeskIcon
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x41
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x42
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 4]
mov byte [ebp - 4], 0x43
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x42
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ae78
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28]
call fcn.00408ca0
mov edx, dword [ebp - 0x64]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40ae9e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x548e58
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 0xf
push str.IsUserNewKernel
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x44
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x45
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 0x46
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x45
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40af18
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40af3e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x548e58
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 0xc
push str.IsPackAllCEF
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x47
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x28], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x48
push eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x60]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0xc]
mov byte [ebp - 4], 0x49
call fcn.00403250
mov edx, dword [ebp - 0x60]
mov eax, esi
mov byte [ebp - 4], 0x48
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40afb8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x28]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40afde
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [0x59007c]
lea ecx, [ebp - 0x64]
call fcn.00402fa0
push 0xd
push str.platform_type
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x4a
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x64]
mov byte [ebp - 4], 0x4b
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
lea ecx, [edi + 0x94]
mov byte [ebp - 4], 0x4c
push eax
call fcn.00403250
mov edx, dword [ebp - 0x68]
mov eax, esi
mov byte [ebp - 4], 0x4b
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b05c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x40]
call fcn.00408ca0
mov edx, dword [ebp - 0x64]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b082
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x546af8
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 7
push str.res_url
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x4d
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x4e
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x98]
mov byte [ebp - 4], 0x4f
call fcn.00403250
mov edx, dword [ebp - 0x68]
mov eax, esi
mov byte [ebp - 4], 0x4e
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b0ff
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x40]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b125
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x546af8
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 6
push str.ui_url
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x50
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x51
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0x9c]
mov byte [ebp - 4], 0x52
call fcn.00403250
mov edx, dword [ebp - 0x68]
mov eax, esi
mov byte [ebp - 4], 0x51
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b1a2
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x40]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b1c8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x546af8
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 0x15
push str.uninst_third_part_url
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x53
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x54
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0xa0]
mov byte [ebp - 4], 0x55
call fcn.00403250
mov edx, dword [ebp - 0x68]
mov eax, esi
mov byte [ebp - 4], 0x54
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b245
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x40]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b26b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x546af8
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 0xb
push str.encrypt_key
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x56
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x57
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0xa4]
mov byte [ebp - 4], 0x58
call fcn.00403250
mov edx, dword [ebp - 0x68]
mov eax, esi
mov byte [ebp - 4], 0x57
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b2e8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x40]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b30e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x546af8
lea ecx, [ebp - 0x5c]
call fcn.00402fa0
push 0xc
push str.encrypt_type
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x59
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.0040c7b0
push 0xfde9
lea eax, [ebp - 0x5c]
mov byte [ebp - 4], 0x5a
push eax
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp + 8]
call fcn.004dd690
push eax
lea ecx, [edi + 0xa8]
mov byte [ebp - 4], 0x5b
call fcn.00403250
mov edx, dword [ebp - 0x68]
mov eax, esi
mov byte [ebp - 4], 0x5a
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40b38b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x40]
call fcn.00408ca0
mov edx, dword [ebp - 0x5c]
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x40b3af
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0x548c60
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x40], 0
call fcn.0040c7b0
lea eax, [ebp - 0x40]
mov byte [ebp - 4], 0x5c
push eax
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp + 8]
call fcn.004ddd20
mov esi, eax
lea eax, [edi + 0xac]
cmp eax, esi
je 0x40b41f
mov ecx, eax
call fcn.00408ca0
movups xmm0, xmmword [esi]
movups xmmword [edi + 0xac], xmm0
movq xmm0, qword [esi + 0x10]
movq qword [edi + 0xbc], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
lea ecx, [ebp - 0x28]
call fcn.00408ca0
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 1
call fcn.00408ca0
lea eax, [edi + 0x94]
push eax
call fcn.00404f30
mov ecx, eax
call fcn.00403ca0
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
je 0x40b48b
mov eax, dword [edi + 0x14]
cmp dword [eax - 0xc], 0
je 0x40b48b
mov eax, dword [edi + 0x10]
cmp dword [eax - 0xc], 0
je 0x40b48b
mov eax, dword [edi + 0x1c]
cmp dword [eax - 0xc], 0
je 0x40b48b
mov eax, dword [edi + 0x20]
cmp dword [eax - 0xc], 0
je 0x40b48b
mov eax, dword [edi + 0x18]
cmp dword [eax - 0xc], 0
je 0x40b48b
mov eax, dword [edi + 0x68]
cmp dword [eax - 0xc], 0
je 0x40b48b
mov esi, 1
jmp 0x40b48d
xor esi, esi
lea ecx, [ebp - 0x58]
call fcn.00408cf0
lea ecx, [ebp + 8]
call fcn.004da260
mov eax, esi
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.00448d5d
mov esp, ebp
pop ebp
ret 0x18
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
call fcn.004f2969
push 0x80004005
call fcn.00403450
call fcn.004f2969
push 0x80004005
call fcn.00403450
push 0x80004005
call fcn.00403450
push 0x80070057
call fcn.00403450
int3