Function at 0x436c30
Capabilities:
Encode data using base64
Encode data using xor
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x56867a
mov eax, dword fs:[0]
push eax
sub esp, 0x430
mov eax, dword [0x5c524c]
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 - 0x38c], edi
xor eax, eax
mov dword [ebp - 4], 0
mov dword [ebp - 0x118], 0
mov dword [ebp - 0x114], 7
mov word [ebp - 0x128], ax
push 3
push 0x57c22c
lea ecx, [ebp - 0x80]
mov byte [ebp - 4], 1
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
call fcn.0041cb00
lea eax, [ebp - 0x43c]
mov byte [ebp - 4], 2
push eax
call fcn.00425690
mov ecx, eax
call fcn.004247f0
lea ecx, [ebp - 0x128]
mov byte [ebp - 4], 3
push ecx
lea ecx, [ebp - 0x80]
push ecx
mov ecx, dword [eax]
call fcn.0050ef70
mov ecx, dword [ebp - 0x438]
or esi, 0xffffffff
mov dword [ebp - 0x360], ecx
test ecx, ecx
je 0x436d0b
mov eax, esi
lock xadd dword [ecx + 4], eax
jne 0x436d0b
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x360]
mov eax, esi
lock xadd dword [ecx + 8], eax
jne 0x436d0b
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x6c]
mov byte [ebp - 4], 1
cmp edx, 8
jb 0x436d49
mov ecx, dword [ebp - 0x80]
lea edx, [edx*2 + 2]
mov eax, ecx
cmp edx, 0x1000
jb 0x436d3f
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438a63
push edx
push ecx
call fcn.004729bf
add esp, 8
xor eax, eax
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
cmp dword [ebp - 0x118], eax
jne 0x436edd
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438a68
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x368], eax
mov eax, 0x5798f8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x368]
test eax, 0xffff0000
jne 0x436da9
movzx eax, ax
push eax
call fcn.00432c80
jmp 0x436db5
push 0
push 0x5798f8
call fcn.0041afc0
lea ecx, [ebp - 0x355]
mov byte [ebp - 4], 5
mov byte [ebp - 0x355], 0
call fcn.004368b0
mov edx, eax
mov dword [ebp - 0x100], 0
mov ecx, edx
mov dword [ebp - 0xfc], 0xf
mov byte [ebp - 0x110], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x360], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x436df3
sub ecx, dword [ebp - 0x360]
push ecx
push edx
lea ecx, [ebp - 0x110]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x368]
mov byte [ebp - 4], 6
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x3d4]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
lea ecx, [edi + 0x68]
mov byte [ebp - 4], 7
push eax
call fcn.00407e20
mov edx, dword [ebp - 0x3d4]
mov eax, esi
mov byte [ebp - 4], 6
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436e61
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xfc]
mov byte [ebp - 4], 5
cmp edx, 0x10
jb 0x436e9f
mov ecx, dword [ebp - 0x110]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x436e95
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438a72
push edx
push ecx
call fcn.004729bf
add esp, 8
mov edx, dword [ebp - 0x368]
mov eax, esi
mov dword [ebp - 0x100], 0
add edx, 0xfffffff0
mov dword [ebp - 0xfc], 0xf
mov byte [ebp - 0x110], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x436f26
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x436f26
cmp dword [ebp - 0x114], 8
lea edx, [ebp - 0x128]
lea eax, [edi + 0x68]
cmovae edx, dword [ebp - 0x128]
test edx, edx
jne 0x436efc
xor ecx, ecx
jmp 0x436f1d
mov ecx, edx
lea eax, [ecx + 2]
mov dword [ebp - 0x3d4], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x436f07
sub ecx, dword [ebp - 0x3d4]
lea eax, [edi + 0x68]
sar ecx, 1
push ecx
push edx
mov ecx, eax
call fcn.0041afc0
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438a77
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x36c], eax
mov eax, 0x5798f8
mov byte [ebp - 4], 8
shr eax, 0x10
lea ecx, [ebp - 0x36c]
mov dword [ebp - 0x35c], eax
test eax, eax
jne 0x436f71
mov eax, 0x5798f8
movzx eax, ax
push eax
call fcn.00432c80
jmp 0x436f7d
push 0
push 0x5798f8
call fcn.0041afc0
mov byte [ebp - 0x20], 0xf9
xor edx, edx
mov byte [ebp - 0x1f], 0xf4
mov edi, 0xf
mov byte [ebp - 0x1e], 0xff
mov byte [ebp - 0x1d], 0xf7
mov byte [ebp - 0x1c], 0xc8
mov byte [ebp - 0x1b], 0xe1
mov byte [ebp - 0x1a], 0xf2
mov byte [ebp - 0x19], 0xe9
mov byte [ebp - 0x18], 0xee
mov byte [ebp - 0x17], 0xff
mov byte [ebp - 0x16], 0xf9
mov byte [ebp - 0x15], 0xf2
mov byte [ebp - 0x14], 0x98
mov al, byte [ebp - 0x20]
mov byte [ebp - 4], 9
mov dword [ebp - 0x408], edx
mov al, byte [ebp + edx - 0x20]
mov ecx, edx
and ecx, edi
mov byte [ebp - 0x356], al
cmp ecx, edi
mov eax, 0x2f01dd92
mov edx, 0x79961ad7
cmovae ecx, edi
shl ecx, 2
call fcn.00472c80
mov edx, dword [ebp - 0x408]
and al, 0xf
lea ecx, [edx - 0x6e]
xor al, cl
xor al, byte [ebp - 0x356]
mov byte [ebp + edx - 0x20], al
inc edx
mov dword [ebp - 0x408], edx
cmp edx, 0xd
jb 0x436fc5
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x38c]
lea edx, [ecx + 1]
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x38], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437027
sub ecx, edx
lea eax, [ebp - 0x20]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x36c]
mov byte [ebp - 4], 0xa
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x3d0]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
mov ecx, edi
mov byte [ebp - 4], 0xb
call fcn.00407e20
mov edx, dword [ebp - 0x3d0]
mov eax, esi
mov byte [ebp - 4], 0xa
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43708d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x24]
mov byte [ebp - 4], 9
cmp edx, 0x10
jb 0x4370c5
mov ecx, dword [ebp - 0x38]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4370bb
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438a81
push edx
push ecx
call fcn.004729bf
add esp, 8
mov edx, dword [ebp - 0x36c]
mov eax, esi
mov dword [ebp - 0x28], 0
add edx, 0xfffffff0
mov dword [ebp - 0x24], 0xf
mov byte [ebp - 0x38], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4370f8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438a86
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x370], eax
cmp dword [ebp - 0x35c], 0
lea ecx, [ebp - 0x370]
mov byte [ebp - 4], 0xc
jne 0x43713a
mov eax, 0x5798f8
movzx eax, ax
push eax
call fcn.00432c80
jmp 0x437146
push 0
push 0x5798f8
call fcn.0041afc0
lea ecx, [ebp - 0x385]
mov byte [ebp - 4], 0xd
call fcn.00436830
mov edx, eax
mov dword [ebp - 0xd0], 0
mov ecx, edx
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3d0], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437180
sub ecx, dword [ebp - 0x3d0]
push ecx
push edx
lea ecx, [ebp - 0xe0]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x370]
mov byte [ebp - 4], 0xe
push eax
lea eax, [ebp - 0xe0]
push eax
lea eax, [ebp - 0x3cc]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x74]
mov byte [ebp - 4], 0xf
call fcn.00407e20
mov edx, dword [ebp - 0x3cc]
mov eax, esi
mov byte [ebp - 4], 0xe
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4371ee
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xcc]
mov byte [ebp - 4], 0xd
cmp edx, 0x10
jb 0x43722c
mov ecx, dword [ebp - 0xe0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x437222
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438a90
push edx
push ecx
call fcn.004729bf
add esp, 8
mov edx, dword [ebp - 0x370]
mov eax, esi
mov dword [ebp - 0xd0], 0
add edx, 0xfffffff0
mov dword [ebp - 0xcc], 0xf
mov byte [ebp - 0xe0], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437268
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438a95
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x374], eax
cmp dword [ebp - 0x35c], 0
lea ecx, [ebp - 0x374]
mov byte [ebp - 4], 0x10
jne 0x4372aa
mov eax, 0x5798f8
movzx eax, ax
push eax
call fcn.00432c80
jmp 0x4372b6
push 0
push 0x5798f8
call fcn.0041afc0
lea ecx, [ebp - 0x3d6]
mov byte [ebp - 4], 0x11
call fcn.004367b0
mov edx, eax
mov dword [ebp - 0xb8], 0
mov ecx, edx
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3cc], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4372f0
sub ecx, dword [ebp - 0x3cc]
push ecx
push edx
lea ecx, [ebp - 0xc8]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x374]
mov byte [ebp - 4], 0x12
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x430]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x70]
mov byte [ebp - 4], 0x13
call fcn.00407e20
mov edx, dword [ebp - 0x430]
mov eax, esi
mov byte [ebp - 4], 0x12
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43735e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xb4]
mov byte [ebp - 4], 0x11
cmp edx, 0x10
jb 0x43739c
mov ecx, dword [ebp - 0xc8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x437392
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438a9f
push edx
push ecx
call fcn.004729bf
add esp, 8
mov edx, dword [ebp - 0x374]
mov eax, esi
mov dword [ebp - 0xb8], 0
add edx, 0xfffffff0
mov dword [ebp - 0xb4], 0xf
mov byte [ebp - 0xc8], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4373d8
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438aa4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x35c], 0
lea ecx, [ebp - 0x378]
mov byte [ebp - 4], 0x14
jne 0x43741a
mov eax, 0x5798f8
movzx eax, ax
push eax
call fcn.00432c80
jmp 0x437426
push 0
push 0x5798f8
call fcn.0041afc0
push 0x11
push str.charge_url_format
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x378]
mov byte [ebp - 4], 0x16
push eax
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x434]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x78]
mov byte [ebp - 4], 0x17
call fcn.00407e20
mov edx, dword [ebp - 0x434]
mov eax, esi
mov byte [ebp - 4], 0x16
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43749c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x3c]
mov byte [ebp - 4], 0x15
cmp edx, 0x10
jb 0x4374d4
mov ecx, dword [ebp - 0x50]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4374ca
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438aae
push edx
push ecx
call fcn.004729bf
add esp, 8
mov edx, dword [ebp - 0x378]
mov eax, esi
mov dword [ebp - 0x40], 0
add edx, 0xfffffff0
mov dword [ebp - 0x3c], 0xf
mov byte [ebp - 0x50], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437507
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438ab3
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x37c], eax
cmp dword [ebp - 0x35c], 0
lea ecx, [ebp - 0x37c]
mov byte [ebp - 4], 0x18
jne 0x437549
mov eax, 0x5798f8
movzx eax, ax
push eax
call fcn.00432c80
jmp 0x437555
push 0
push 0x5798f8
call fcn.0041afc0
push 0xf
push str.site_url_format
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x19
mov dword [ebp - 0xe8], 0
mov dword [ebp - 0xe4], 0xf
mov byte [ebp - 0xf8], 0
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x37c]
mov byte [ebp - 4], 0x1a
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x42c]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x6c]
mov byte [ebp - 4], 0x1b
call fcn.00407e20
mov edx, dword [ebp - 0x42c]
mov eax, esi
mov byte [ebp - 4], 0x1a
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4375da
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0xe4]
mov byte [ebp - 4], 0x19
cmp edx, 0x10
jb 0x437618
mov ecx, dword [ebp - 0xf8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x43760e
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438abd
push edx
push ecx
call fcn.004729bf
add esp, 8
mov edx, dword [ebp - 0x37c]
mov eax, esi
mov dword [ebp - 0xe8], 0
add edx, 0xfffffff0
mov dword [ebp - 0xe4], 0xf
mov byte [ebp - 0xf8], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437654
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438ac2
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x380], eax
cmp dword [ebp - 0x35c], 0
lea ecx, [ebp - 0x380]
mov byte [ebp - 4], 0x1c
jne 0x437696
mov eax, 0x5798f8
movzx eax, ax
push eax
call fcn.00432c80
jmp 0x4376a2
push 0
push 0x5798f8
call fcn.0041afc0
push 0xf
push str.uninst_open_url
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x1d
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x380]
mov byte [ebp - 4], 0x1e
push eax
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x3bc]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x7c]
mov byte [ebp - 4], 0x1f
call fcn.00407e20
mov edx, dword [ebp - 0x3bc]
mov eax, esi
mov byte [ebp - 4], 0x1e
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437718
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x54]
mov byte [ebp - 4], 0x1d
cmp edx, 0x10
jb 0x437750
mov ecx, dword [ebp - 0x68]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x437746
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438acc
push edx
push ecx
call fcn.004729bf
add esp, 8
mov edx, dword [ebp - 0x380]
mov eax, esi
mov dword [ebp - 0x58], 0
add edx, 0xfffffff0
mov dword [ebp - 0x54], 0xf
mov byte [ebp - 0x68], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437783
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438ad1
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x384], eax
cmp dword [ebp - 0x35c], 0
lea ecx, [ebp - 0x384]
mov byte [ebp - 4], 0x20
jne 0x4377c5
mov eax, 0x5798f8
movzx eax, ax
push eax
call fcn.00432c80
jmp 0x4377d1
push 0
push 0x5798f8
call fcn.0041afc0
lea ecx, [ebp - 0x3d5]
mov byte [ebp - 4], 0x21
call fcn.00436640
mov edx, eax
mov dword [ebp - 0xa0], 0
mov ecx, edx
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3bc], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437808
sub ecx, dword [ebp - 0x3bc]
push ecx
push edx
lea ecx, [ebp - 0xb0]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x384]
mov byte [ebp - 4], 0x22
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x3b8]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x80]
mov byte [ebp - 4], 0x23
call fcn.00407e20
mov edx, dword [ebp - 0x3b8]
mov eax, esi
mov byte [ebp - 4], 0x22
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437879
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x9c]
mov byte [ebp - 4], 0x21
cmp edx, 0x10
jb 0x4378b7
mov ecx, dword [ebp - 0xb0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x4378ad
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438adb
push edx
push ecx
call fcn.004729bf
add esp, 8
mov edx, dword [ebp - 0x384]
mov eax, esi
mov dword [ebp - 0xa0], 0
add edx, 0xfffffff0
mov dword [ebp - 0x9c], 0xf
mov byte [ebp - 0xb0], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4378f3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438ae0
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x364], eax
cmp dword [ebp - 0x35c], 0
lea ecx, [ebp - 0x364]
mov byte [ebp - 4], 0x24
jne 0x437935
mov eax, 0x5798f8
movzx eax, ax
push eax
call fcn.00432c80
jmp 0x437941
push 0
push 0x5798f8
call fcn.0041afc0
lea ecx, [ebp - 0x3c5]
mov byte [ebp - 4], 0x25
call fcn.00436730
mov edx, eax
mov dword [ebp - 0x88], 0
mov ecx, edx
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3b8], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x437978
sub ecx, dword [ebp - 0x3b8]
push ecx
push edx
lea ecx, [ebp - 0x98]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x364]
mov byte [ebp - 4], 0x26
push eax
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0x428]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x84]
mov byte [ebp - 4], 0x27
call fcn.00407e20
mov edx, dword [ebp - 0x428]
mov eax, esi
mov byte [ebp - 4], 0x26
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4379e9
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov edx, dword [ebp - 0x84]
mov byte [ebp - 4], 0x25
cmp edx, 0x10
jb 0x437a27
mov ecx, dword [ebp - 0x98]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x437a1d
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438aea
push edx
push ecx
call fcn.004729bf
add esp, 8
mov edx, dword [ebp - 0x364]
mov eax, esi
mov dword [ebp - 0x88], 0
add edx, 0xfffffff0
mov dword [ebp - 0x84], 0xf
mov byte [ebp - 0x98], 0
mov byte [ebp - 4], 1
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437a63
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x13
push str.startmenu_no_uninst
lea ecx, [ebp - 0x140]
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x12c], 0xf
mov byte [ebp - 0x140], 0
call fcn.0041ca10
push 0
lea eax, [ebp - 0x140]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp + 8]
call fcn.0050c510
mov edx, dword [ebp - 0x12c]
mov dword [edi + 0xd4], eax
mov byte [ebp - 4], 1
cmp edx, 0x10
jb 0x437ae9
mov ecx, dword [ebp - 0x140]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x437adf
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x438aef
push edx
push ecx
call fcn.004729bf
add esp, 8
push 0x5798f8
lea ecx, [ebp - 0x404]
call fcn.00406a80
push 0xd
push str.tray_icon_tip
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0x29
mov dword [ebp - 0x2f8], 0
mov dword [ebp - 0x2f4], 0xf
mov byte [ebp - 0x308], 0
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x404]
mov byte [ebp - 4], 0x2a
push eax
lea eax, [ebp - 0x308]
push eax
lea eax, [ebp - 0x420]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x64]
mov byte [ebp - 4], 0x2b
call fcn.00407e20
mov edx, dword [ebp - 0x420]
mov eax, esi
mov byte [ebp - 4], 0x2a
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437b7e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x308]
call fcn.004078d0
mov edx, dword [ebp - 0x404]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437baa
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5798f8
lea ecx, [ebp - 0x400]
call fcn.00406a80
push 0xb
push str.pattern_str
lea ecx, [ebp - 0x2f0]
mov byte [ebp - 4], 0x2c
mov dword [ebp - 0x2e0], 0
mov dword [ebp - 0x2dc], 0xf
mov byte [ebp - 0x2f0], 0
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x400]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0x2f0]
push eax
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x90]
mov byte [ebp - 4], 0x2e
call fcn.00407e20
mov edx, dword [ebp - 0x410]
mov eax, esi
mov byte [ebp - 4], 0x2d
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437c42
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x2f0]
call fcn.004078d0
mov edx, dword [ebp - 0x400]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437c6e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5798f8
lea ecx, [ebp - 0x3fc]
call fcn.00406a80
push 0xc
push str.silence_inst
lea ecx, [ebp - 0x2d8]
mov byte [ebp - 4], 0x2f
mov dword [ebp - 0x2c8], 0
mov dword [ebp - 0x2c4], 0xf
mov byte [ebp - 0x2d8], 0
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x3fc]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0x2d8]
push eax
lea eax, [ebp - 0x414]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x88]
mov byte [ebp - 4], 0x31
call fcn.00407e20
mov edx, dword [ebp - 0x414]
mov eax, esi
mov byte [ebp - 4], 0x30
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437d06
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x2d8]
call fcn.004078d0
mov edx, dword [ebp - 0x3fc]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437d32
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5798f8
lea ecx, [ebp - 0x3f8]
call fcn.00406a80
push 0x16
push str.run_after_silence_inst
lea ecx, [ebp - 0x2c0]
mov byte [ebp - 4], 0x32
mov dword [ebp - 0x2b0], 0
mov dword [ebp - 0x2ac], 0xf
mov byte [ebp - 0x2c0], 0
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x3f8]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x418]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x50]
mov byte [ebp - 4], 0x34
call fcn.00407e20
mov edx, dword [ebp - 0x418]
mov eax, esi
mov byte [ebp - 4], 0x33
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437dc7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x2c0]
call fcn.004078d0
mov edx, dword [ebp - 0x3f8]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437df3
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0xc
push str.install_tray
lea ecx, [ebp - 0x2a8]
mov dword [ebp - 0x298], 0
mov dword [ebp - 0x294], 0xf
mov byte [ebp - 0x2a8], 0
call fcn.0041ca10
push 0
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0x35
push eax
lea ecx, [ebp + 8]
call fcn.0050c510
lea ecx, [ebp - 0x2a8]
mov dword [edi + 0xc8], eax
mov byte [ebp - 4], 1
call fcn.004078d0
push 0x18
push str.delay_install_extra_days
lea ecx, [ebp - 0x290]
mov dword [ebp - 0x280], 0
mov dword [ebp - 0x27c], 0xf
mov byte [ebp - 0x290], 0
call fcn.0041ca10
push 0
lea eax, [ebp - 0x290]
mov byte [ebp - 4], 0x36
push eax
lea ecx, [ebp + 8]
call fcn.0050c510
lea ecx, [ebp - 0x290]
mov dword [edi + 0xcc], eax
mov byte [ebp - 4], 1
call fcn.004078d0
push 0x5798f8
lea ecx, [ebp - 0x3f4]
call fcn.00406a80
push 0x11
push str.install_open_text
lea ecx, [ebp - 0x278]
mov byte [ebp - 4], 0x37
mov dword [ebp - 0x268], 0
mov dword [ebp - 0x264], 0xf
mov byte [ebp - 0x278], 0
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x3f4]
mov byte [ebp - 4], 0x38
push eax
lea eax, [ebp - 0x278]
push eax
lea eax, [ebp - 0x394]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x8c]
mov byte [ebp - 4], 0x39
call fcn.00407e20
mov edx, dword [ebp - 0x394]
mov eax, esi
mov byte [ebp - 4], 0x38
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437f39
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x278]
call fcn.004078d0
mov edx, dword [ebp - 0x3f4]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x437f65
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x13
push str.install_open_select
lea ecx, [ebp - 0x260]
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x24c], 0xf
mov byte [ebp - 0x260], 0
call fcn.0041ca10
push 0
lea eax, [ebp - 0x260]
mov byte [ebp - 4], 0x3a
push eax
lea ecx, [ebp + 8]
call fcn.0050c510
lea ecx, [ebp - 0x260]
mov dword [edi + 0xd0], eax
mov byte [ebp - 4], 1
call fcn.004078d0
push 0x12
push str.install_show_close
lea ecx, [ebp - 0x248]
mov dword [ebp - 0x238], 0
mov dword [ebp - 0x234], 0xf
mov byte [ebp - 0x248], 0
call fcn.0041ca10
push 1
lea eax, [ebp - 0x248]
mov byte [ebp - 4], 0x3b
push eax
lea ecx, [ebp + 8]
call fcn.0050c510
lea ecx, [ebp - 0x248]
mov dword [edi + 0xd8], eax
mov byte [ebp - 4], 1
call fcn.004078d0
push 0xe
push str.pepflashplayer
lea ecx, [ebp - 0x218]
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x204], 0xf
mov byte [ebp - 0x218], 0
call fcn.0041ca10
push 0
lea eax, [ebp - 0x218]
mov byte [ebp - 4], 0x3c
push eax
lea ecx, [ebp + 8]
call fcn.0050c510
lea ecx, [ebp - 0x218]
mov dword [edi + 0xc4], eax
mov byte [ebp - 4], 1
call fcn.004078d0
push 0x17
push str.exit_when_close_playwnd
lea ecx, [ebp - 0x230]
mov dword [ebp - 0x220], 0
mov dword [ebp - 0x21c], 0xf
mov byte [ebp - 0x230], 0
call fcn.0041ca10
push 0
lea eax, [ebp - 0x230]
mov byte [ebp - 4], 0x3d
push eax
lea ecx, [ebp + 8]
call fcn.0050c510
lea ecx, [ebp - 0x230]
mov dword [edi + 0xdc], eax
mov byte [ebp - 4], 1
call fcn.004078d0
call fcn.00415c50
mov ecx, eax
test ecx, ecx
je 0x438af4
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x354], eax
mov eax, 0x57bd2c
mov byte [ebp - 4], 0x3e
test eax, 0xffff0000
jne 0x438101
movzx eax, ax
lea ecx, [ebp - 0x354]
push eax
call fcn.00432c80
jmp 0x438167
push 0
push 0
push 0xffffffffffffffff
push 0x57bd2c
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [ebp - 0x354]
lea edi, [eax - 1]
test edi, edi
jle 0x43815c
push edi
call fcn.00438fe0
push edi
push eax
push 0xffffffffffffffff
push 0x57bd2c
push 0
push 3
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0x354]
cmp edi, dword [eax - 8]
jg 0x438afe
mov dword [eax - 0xc], edi
xor ecx, ecx
mov eax, dword [ebp - 0x354]
mov word [eax + edi*2], cx
jmp 0x438161
call fcn.00411610
mov edi, dword [ebp - 0x38c]
lea ecx, [ebp - 0x3bd]
mov byte [ebp - 4], 0x3f
call fcn.00435b80
mov edx, eax
mov dword [ebp - 0x328], 0
mov ecx, edx
mov dword [ebp - 0x324], 0xf
mov byte [ebp - 0x338], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x394], eax
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4381a0
sub ecx, dword [ebp - 0x394]
push ecx
push edx
lea ecx, [ebp - 0x338]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x354]
mov byte [ebp - 4], 0x40
push eax
lea eax, [ebp - 0x338]
push eax
lea eax, [ebp - 0x398]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 4]
mov byte [ebp - 4], 0x41
call fcn.00407e20
mov edx, dword [ebp - 0x398]
mov eax, esi
mov byte [ebp - 4], 0x40
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43820e
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x338]
call fcn.004078d0
mov edx, dword [ebp - 0x354]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43823a
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x579c98
lea ecx, [ebp - 0x3f0]
call fcn.00406a80
lea ecx, [ebp - 0x3b4]
mov byte [ebp - 4], 0x42
call fcn.00435fb0
mov edx, eax
mov dword [ebp - 0x310], 0
mov ecx, edx
mov dword [ebp - 0x30c], 0xf
mov byte [ebp - 0x320], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x398], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x438281
sub ecx, dword [ebp - 0x398]
push ecx
push edx
lea ecx, [ebp - 0x320]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x3f0]
mov byte [ebp - 4], 0x43
push eax
lea eax, [ebp - 0x320]
push eax
lea eax, [ebp - 0x39c]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 8]
mov byte [ebp - 4], 0x44
call fcn.00407e20
mov edx, dword [ebp - 0x39c]
mov eax, esi
mov byte [ebp - 4], 0x43
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4382ef
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x320]
call fcn.004078d0
mov edx, dword [ebp - 0x3f0]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43831b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x579c98
lea ecx, [ebp - 0x3ec]
call fcn.00406a80
lea ecx, [ebp - 0x3b3]
mov byte [ebp - 4], 0x45
call fcn.00435db0
mov edx, eax
mov dword [ebp - 0x1f0], 0
mov ecx, edx
mov dword [ebp - 0x1ec], 0xf
mov byte [ebp - 0x200], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x39c], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x438362
sub ecx, dword [ebp - 0x39c]
push ecx
push edx
lea ecx, [ebp - 0x200]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x3ec]
mov byte [ebp - 4], 0x46
push eax
lea eax, [ebp - 0x200]
push eax
lea eax, [ebp - 0x41c]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0xc]
mov byte [ebp - 4], 0x47
call fcn.00407e20
mov edx, dword [ebp - 0x41c]
mov eax, esi
mov byte [ebp - 4], 0x46
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4383d0
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x200]
call fcn.004078d0
mov edx, dword [ebp - 0x3ec]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4383fc
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push dword [0x5c511c]
lea ecx, [ebp - 0x3e8]
call fcn.00406a80
push 0xd
push str.platform_type
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 4], 0x48
mov dword [ebp - 0x1d8], 0
mov dword [ebp - 0x1d4], 0xf
mov byte [ebp - 0x1e8], 0
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x3e8]
mov byte [ebp - 4], 0x49
push eax
lea eax, [ebp - 0x1e8]
push eax
lea eax, [ebp - 0x3a4]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
lea ecx, [edi + 0x94]
mov byte [ebp - 4], 0x4a
push eax
call fcn.00407e20
mov edx, dword [ebp - 0x3a4]
mov eax, esi
mov byte [ebp - 4], 0x49
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438495
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1e8]
call fcn.004078d0
mov edx, dword [ebp - 0x3e8]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4384c1
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5798f8
lea ecx, [ebp - 0x3e4]
call fcn.00406a80
lea ecx, [ebp - 0x386]
mov byte [ebp - 4], 0x4b
call fcn.00436130
mov edx, eax
mov dword [ebp - 0x1c0], 0
mov ecx, edx
mov dword [ebp - 0x1bc], 0xf
mov byte [ebp - 0x1d0], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3a4], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x438508
sub ecx, dword [ebp - 0x3a4]
push ecx
push edx
lea ecx, [ebp - 0x1d0]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x3e4]
mov byte [ebp - 4], 0x4c
push eax
lea eax, [ebp - 0x1d0]
push eax
lea eax, [ebp - 0x3a8]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x98]
mov byte [ebp - 4], 0x4d
call fcn.00407e20
mov edx, dword [ebp - 0x3a8]
mov eax, esi
mov byte [ebp - 4], 0x4c
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438579
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1d0]
call fcn.004078d0
mov edx, dword [ebp - 0x3e4]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x4385a5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5798f8
lea ecx, [ebp - 0x3e0]
call fcn.00406a80
lea ecx, [ebp - 0x3b2]
mov byte [ebp - 4], 0x4e
call fcn.00436a30
mov edx, eax
mov dword [ebp - 0x1a8], 0
mov ecx, edx
mov dword [ebp - 0x1a4], 0xf
mov byte [ebp - 0x1b8], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3a8], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4385f0
sub ecx, dword [ebp - 0x3a8]
push ecx
push edx
lea ecx, [ebp - 0x1b8]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x3e0]
mov byte [ebp - 4], 0x4f
push eax
lea eax, [ebp - 0x1b8]
push eax
lea eax, [ebp - 0x3ac]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0x9c]
mov byte [ebp - 4], 0x50
call fcn.00407e20
mov edx, dword [ebp - 0x3ac]
mov eax, esi
mov byte [ebp - 4], 0x4f
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438661
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1b8]
call fcn.004078d0
mov edx, dword [ebp - 0x3e0]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x43868d
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5798f8
lea ecx, [ebp - 0x40c]
call fcn.00406a80
lea ecx, [ebp - 0x3b1]
mov byte [ebp - 4], 0x51
call fcn.00436920
mov edx, eax
mov dword [ebp - 0x190], 0
mov ecx, edx
mov dword [ebp - 0x18c], 0xf
mov byte [ebp - 0x1a0], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3ac], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4386d4
sub ecx, dword [ebp - 0x3ac]
push ecx
push edx
lea ecx, [ebp - 0x1a0]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x40c]
mov byte [ebp - 4], 0x52
push eax
lea eax, [ebp - 0x1a0]
push eax
lea eax, [ebp - 0x3b0]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0xa0]
mov byte [ebp - 4], 0x53
call fcn.00407e20
mov edx, dword [ebp - 0x3b0]
mov eax, esi
mov byte [ebp - 4], 0x52
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438745
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x1a0]
call fcn.004078d0
mov edx, dword [ebp - 0x40c]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438771
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5798f8
lea ecx, [ebp - 0x3dc]
call fcn.00406a80
lea ecx, [ebp - 0x38d]
mov byte [ebp - 4], 0x54
call fcn.004366c0
mov edx, eax
mov dword [ebp - 0x178], 0
mov ecx, edx
mov dword [ebp - 0x174], 0xf
mov byte [ebp - 0x188], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3b0], eax
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4387b8
sub ecx, dword [ebp - 0x3b0]
push ecx
push edx
lea ecx, [ebp - 0x188]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x3dc]
mov byte [ebp - 4], 0x55
push eax
lea eax, [ebp - 0x188]
push eax
lea eax, [ebp - 0x3c4]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0xa4]
mov byte [ebp - 4], 0x56
call fcn.00407e20
mov edx, dword [ebp - 0x3c4]
mov eax, esi
mov byte [ebp - 4], 0x55
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438829
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x188]
call fcn.004078d0
mov edx, dword [ebp - 0x3dc]
mov eax, esi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438855
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0x5798f8
lea ecx, [ebp - 0x360]
call fcn.00406a80
lea ecx, [ebp - 0x39d]
mov byte [ebp - 4], 0x57
call fcn.004362e0
mov edx, eax
mov dword [ebp - 0x160], 0
mov ecx, edx
mov dword [ebp - 0x15c], 0xf
mov byte [ebp - 0x170], 0
lea eax, [ecx + 1]
mov dword [ebp - 0x3c4], eax
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4388a0
sub ecx, dword [ebp - 0x3c4]
push ecx
push edx
lea ecx, [ebp - 0x170]
call fcn.0041ca10
push 0xfde9
lea eax, [ebp - 0x360]
mov byte [ebp - 4], 0x58
push eax
lea eax, [ebp - 0x170]
push eax
lea eax, [ebp - 0x424]
push eax
lea ecx, [ebp + 8]
call fcn.0050c9f0
push eax
lea ecx, [edi + 0xa8]
mov byte [ebp - 4], 0x59
call fcn.00407e20
mov edx, dword [ebp - 0x424]
mov eax, esi
mov byte [ebp - 4], 0x58
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x438911
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0x170]
call fcn.004078d0
mov edx, dword [ebp - 0x360]
mov byte [ebp - 4], 1
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], esi
dec esi
test esi, esi
jg 0x43893b
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
push 0
push 0x5799a4
lea ecx, [ebp - 0x158]
mov dword [ebp - 0x148], 0
mov dword [ebp - 0x144], 0xf
mov byte [ebp - 0x158], 0
call fcn.0041ca10
lea eax, [ebp - 0x158]
mov byte [ebp - 4], 0x5a
push eax
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp + 8]
call fcn.0050d170
mov esi, eax
lea eax, [edi + 0xac]
cmp eax, esi
je 0x4389bd
mov ecx, eax
call fcn.004078d0
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 - 0x350]
call fcn.004078d0
lea ecx, [ebp - 0x158]
mov byte [ebp - 4], 1
call fcn.004078d0
lea eax, [edi + 0x94]
push eax
call fcn.00415bc0
mov ecx, eax
call fcn.0041f450
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
je 0x438a2f
mov eax, dword [edi + 0x14]
cmp dword [eax - 0xc], 0
je 0x438a2f
mov eax, dword [edi + 0x10]
cmp dword [eax - 0xc], 0
je 0x438a2f
mov eax, dword [edi + 0x1c]
cmp dword [eax - 0xc], 0
je 0x438a2f
mov eax, dword [edi + 0x20]
cmp dword [eax - 0xc], 0
je 0x438a2f
mov eax, dword [edi + 0x18]
cmp dword [eax - 0xc], 0
je 0x438a2f
mov eax, dword [edi + 0x68]
cmp dword [eax - 0xc], 0
je 0x438a2f
mov esi, 1
jmp 0x438a31
xor esi, esi
lea ecx, [ebp - 0x128]
call fcn.00407920
lea ecx, [ebp + 8]
call fcn.00509500
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.0047285d
mov esp, ebp
pop ebp
ret 0x18
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
call fcn.00522b89
call fcn.00522b89
push 0x80004005
call fcn.0040e3e0
push 0x80070057
call fcn.0040e3e0
int3