Function at 0x53a860
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59f9f8
mov eax, dword fs:[0]
push eax
sub esp, 0x5fc
mov eax, dword [0x615720]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xb8], ecx
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x260], esp
push 0x5a6fd6
call fcn.004e8fb0
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0xb8]
call fcn.0053e790
mov byte [ebp - 0xbd], al
movzx eax, byte [ebp - 0xbd]
test eax, eax
je 0x53aa98
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x214], esp
push 0x5a7388
call fcn.004e98c0
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531d70
push 0x5a73d0
lea ecx, [ebp - 0xb4]
push ecx
call fcn.004e2580
add esp, 8
mov dword [ebp - 4], 0
push 0x5a742c
lea ecx, [ebp - 0x380]
call fcn.004e98c0
mov byte [ebp - 4], 1
push 0x5a7438
lea ecx, [ebp - 0x320]
call fcn.004e98c0
mov byte [ebp - 4], 2
push 0x5a7458
lea ecx, [ebp - 0x2d8]
call fcn.004e98c0
mov byte [ebp - 4], 3
lea edx, [ebp - 0x380]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2dc
call fcn.004e92b0
push eax
lea eax, [ebp - 0x530]
push eax
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x160], ecx
mov byte [ebp - 4], 4
mov edx, dword [ebp - 0x160]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x330
call fcn.004e92b0
push eax
lea eax, [ebp - 0x440]
push eax
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0xf8], eax
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x168], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x168]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2f4
call fcn.004e92b0
push eax
lea eax, [ebp - 0x5f0]
push eax
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0x11c], ecx
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x11c]
push edx
lea eax, [ebp - 0xb4]
push eax
lea ecx, [ebp - 0x320]
push ecx
lea edx, [ebp - 0x2d8]
push edx
call fcn.004e8970
add esp, 0x1c
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x5f0]
call fcn.004e99d0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x440]
call fcn.004e99d0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x530]
call fcn.004e99d0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2d8]
call fcn.004e99d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x320]
call fcn.004e99d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x380]
call fcn.004e99d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xb4]
call fcn.004e99d0
jmp 0x53bf20
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x2b9], 1
push 0x5a7468
push 0x5a74d8
lea ecx, [ebp - 0x470]
push ecx
call fcn.004e2580
add esp, 0xc
mov dword [ebp - 0x15c], eax
mov edx, dword [ebp - 0x15c]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9990
lea ecx, [ebp - 0x470]
call fcn.004e99d0
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x94], 2
jne 0x53abae
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.0053d830
movzx ecx, al
test ecx, ecx
je 0x53abae
push 0x5a74f8
push 0x5a758c
lea edx, [ebp - 0x410]
push edx
call fcn.004e2580
add esp, 0xc
mov dword [ebp - 0x164], eax
mov eax, dword [ebp - 0x164]
push eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9990
lea ecx, [ebp - 0x410]
call fcn.004e99d0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x224], esp
push ecx
call fcn.004e5790
add esp, 4
mov dword [ebp - 0x16c], eax
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x22c], edx
mov dword [ebp - 4], 7
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x27c], esp
push str.fcupdate
call fcn.004e98c0
mov dword [ebp - 0x190], eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0xb8]
call fcn.00531890
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x9c], 3
jne 0x53abff
push str.___typehcupdate
push 0x5a7620
lea ecx, [ebp - 0x4a0]
push ecx
call fcn.004e2580
add esp, 0xc
mov dword [ebp - 0x174], eax
mov edx, dword [ebp - 0x174]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9990
lea ecx, [ebp - 0x4a0]
call fcn.004e99d0
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0xa4], 1
jne 0x53ac50
push 0x5a7634
push 0x5a7664
lea ecx, [ebp - 0x560]
push ecx
call fcn.004e2580
add esp, 0xc
mov dword [ebp - 0x17c], eax
mov edx, dword [ebp - 0x17c]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9990
lea ecx, [ebp - 0x560]
call fcn.004e99d0
mov eax, dword [ebp - 0xb8]
movzx ecx, byte [eax + 0x2b8]
test ecx, ecx
je 0x53ac66
jmp 0x53bf20
mov edx, dword [ebp - 0xb8]
add edx, 0x2dc
push edx
lea ecx, [ebp - 0x28]
call fcn.004e8f30
mov dword [ebp - 4], 8
push 0x5a768c
lea ecx, [ebp - 0x350]
call fcn.004e8fb0
mov byte [ebp - 4], 9
push 0x5a7690
lea ecx, [ebp - 0x3e0]
call fcn.004e8fb0
mov byte [ebp - 4], 0xa
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x3e0]
push ecx
lea edx, [ebp - 0x28]
push edx
call fcn.004e30a0
add esp, 0xc
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x3e0]
call fcn.004e90c0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x350]
call fcn.004e90c0
push 0x2c
lea eax, [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x4c
call fcn.004e92b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2ac], esp
push eax
push ecx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x198], edx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x28]
call fcn.004e92b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x274], esp
push eax
push ecx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0x1a0], eax
mov byte [ebp - 4], 8
call fcn.004e4ef0
add esp, 0x38
cmp dword [ebp - 0x38], 1
jne 0x53aea4
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542cd0
movzx edx, al
test edx, edx
je 0x53aea4
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0xa8], 4
jne 0x53aea4
push 0x5a76f0
push 0x5a777c
lea ecx, [ebp - 0x4d0]
push ecx
call fcn.004e2580
add esp, 0xc
mov dword [ebp - 0xd8], eax
mov edx, dword [ebp - 0xd8]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9990
lea ecx, [ebp - 0x4d0]
call fcn.004e99d0
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x2b8], 1
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9c70
push eax
lea ecx, [ebp - 0x500]
push ecx
call fcn.004e3950
add esp, 4
mov dword [ebp - 0x130], eax
mov edx, dword [ebp - 0x130]
mov dword [ebp - 0xe0], edx
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0xe0]
call fcn.004e9c70
push eax
push 0x5a7784
lea eax, [ebp - 0x5c0]
push eax
call fcn.004e2580
add esp, 0x10
mov dword [ebp - 0x170], eax
mov ecx, dword [ebp - 0x170]
push ecx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x270
call fcn.004e9990
lea ecx, [ebp - 0x5c0]
call fcn.004e99d0
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x500]
call fcn.004e99d0
push 0
push 0
mov edx, dword [ebp - 0xb8]
push edx
push 0x5378f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf20
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x29c], esp
push 0x5a77e8
call fcn.004e98c0
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x1a8], ecx
mov byte [ebp - 4], 0xd
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x234], esp
push 0x5a782c
call fcn.004e98c0
mov dword [ebp - 0x1b0], eax
mov byte [ebp - 4], 8
call fcn.004e8110
add esp, 0x30
mov byte [ebp - 0xc5], al
movzx edx, byte [ebp - 0xc5]
test edx, edx
je 0x53b23b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x238], esp
push 0x5a7854
call fcn.004e8fb0
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531430
mov byte [ebp - 0xc0], al
movzx eax, byte [ebp - 0xc0]
test eax, eax
jne 0x53b23b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x240], esp
push 0x5a78c4
call fcn.004e8fb0
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x84]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.00531030
mov dword [ebp - 0x248], eax
mov byte [ebp - 4], 0xe
push 0x5a78dc
lea ecx, [ebp - 0x2f0]
call fcn.004e8fb0
mov byte [ebp - 4], 0xf
push 0x5a7918
lea ecx, [ebp - 0x3b0]
call fcn.004e8fb0
mov byte [ebp - 4], 0x10
lea edx, [ebp - 0x2f0]
push edx
lea eax, [ebp - 0x3b0]
push eax
lea ecx, [ebp - 0x84]
push ecx
call fcn.004e30a0
add esp, 0xc
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0x3b0]
call fcn.004e90c0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x2f0]
call fcn.004e90c0
push 0x2c
lea edx, [ebp - 0x2c]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x7c
call fcn.004e92b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1c8], esp
push eax
push ecx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0xf0], eax
mov edx, dword [ebp - 0xf0]
mov dword [ebp - 0x250], edx
mov byte [ebp - 4], 0x11
lea ecx, [ebp - 0x84]
call fcn.004e92b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1d0], esp
push eax
push ecx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0x258], eax
mov byte [ebp - 4], 0xe
call fcn.004e4ef0
add esp, 0x38
cmp dword [ebp - 0x2c], 1
jne 0x53b22c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1d8], esp
push 0x5a798c
call fcn.004e98c0
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531d70
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x2b8]
test eax, eax
je 0x53b0b5
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x84]
call fcn.004e90c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf20
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x2b8], 1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 0
push 0x5a79dc
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542cd0
movzx eax, al
test eax, eax
je 0x53b14d
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xa8], 4
jne 0x53b14d
push 0x5a7a20
push 0x5a7aa8
lea edx, [ebp - 0x590]
push edx
call fcn.004e2580
add esp, 0xc
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
push eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9990
lea ecx, [ebp - 0x590]
call fcn.004e99d0
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9c70
push eax
lea ecx, [ebp - 0x458]
push ecx
call fcn.004e3950
add esp, 4
mov dword [ebp - 0x140], eax
mov edx, dword [ebp - 0x140]
mov dword [ebp - 0x100], edx
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x100]
call fcn.004e9c70
push eax
push 0x5a7b04
lea eax, [ebp - 0x428]
push eax
call fcn.004e2580
add esp, 0x10
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x180]
push ecx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x270
call fcn.004e9990
lea ecx, [ebp - 0x428]
call fcn.004e99d0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x458]
call fcn.004e99d0
push 0
push 0
mov edx, dword [ebp - 0xb8]
push edx
push 0x5378f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x84]
call fcn.004e90c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf20
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x84]
call fcn.004e90c0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1e0], esp
push 0x5a7bac
call fcn.004e98c0
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp - 0x148]
mov dword [ebp - 0x268], ecx
mov byte [ebp - 4], 0x13
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1e8], esp
push 0x5a7bcc
call fcn.004e98c0
mov dword [ebp - 0x270], eax
mov byte [ebp - 4], 8
call fcn.004e8110
add esp, 0x30
mov byte [ebp - 0xbc], al
movzx edx, byte [ebp - 0xbc]
test edx, edx
je 0x53b5c0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1f0], esp
push 0x5a7bf0
call fcn.004e8fb0
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531430
mov byte [ebp - 0xc4], al
movzx eax, byte [ebp - 0xc4]
test eax, eax
jne 0x53b5c0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push 0x5a7c20
call fcn.004e8fb0
mov dword [ebp - 0x280], eax
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.00531030
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 0x14
push 0x5a7c34
lea ecx, [ebp - 0x338]
call fcn.004e8fb0
mov byte [ebp - 4], 0x15
push 0x5a7c74
lea ecx, [ebp - 0x308]
call fcn.004e8fb0
mov byte [ebp - 4], 0x16
lea edx, [ebp - 0x338]
push edx
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x6c]
push ecx
call fcn.004e30a0
add esp, 0xc
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0x308]
call fcn.004e90c0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x338]
call fcn.004e90c0
push 0x2c
lea edx, [ebp - 0x30]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x7c
call fcn.004e92b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x288], esp
push eax
push ecx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0x110], eax
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x208], edx
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x6c]
call fcn.004e92b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x290], esp
push eax
push ecx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0x210], eax
mov byte [ebp - 4], 0x14
call fcn.004e4ef0
add esp, 0x38
cmp dword [ebp - 0x30], 1
jne 0x53b5b4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x298], esp
push str.need_update_ppapi
call fcn.004e98c0
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531d70
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x2b8]
test eax, eax
je 0x53b440
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6c]
call fcn.004e90c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf20
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x2b8], 1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 2
push 0x5a7e1c
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542cd0
movzx eax, al
test eax, eax
je 0x53b4d8
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xa8], 4
jne 0x53b4d8
push 0x5a7e58
push 0x5a7ee0
lea edx, [ebp - 0x488]
push edx
call fcn.004e2580
add esp, 0xc
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
push eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9990
lea ecx, [ebp - 0x488]
call fcn.004e99d0
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9c70
push eax
lea ecx, [ebp - 0x4e8]
push ecx
call fcn.004e3950
add esp, 4
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0x150]
mov dword [ebp - 0x120], edx
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x120]
call fcn.004e9c70
push eax
push 0x5a7ee8
lea eax, [ebp - 0x4b8]
push eax
call fcn.004e2580
add esp, 0x10
mov dword [ebp - 0x178], eax
mov ecx, dword [ebp - 0x178]
push ecx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x270
call fcn.004e9990
lea ecx, [ebp - 0x4b8]
call fcn.004e99d0
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x4e8]
call fcn.004e99d0
push 0
push 0
mov edx, dword [ebp - 0xb8]
push edx
push 0x5378f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0x128]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6c]
call fcn.004e90c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf20
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6c]
call fcn.004e90c0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push 0x5a7f0c
call fcn.004e98c0
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0x220], ecx
mov byte [ebp - 4], 0x19
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a8], esp
push 0x5a7f2c
call fcn.004e98c0
mov dword [ebp - 0x228], eax
mov byte [ebp - 4], 8
call fcn.004e8110
add esp, 0x30
mov byte [ebp - 0xbe], al
movzx edx, byte [ebp - 0xbe]
test edx, edx
je 0x53b945
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b0], esp
push 0x5a7f50
call fcn.004e8fb0
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531430
mov byte [ebp - 0xc2], al
movzx eax, byte [ebp - 0xc2]
test eax, eax
jne 0x53b945
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b8], esp
push 0x5a7f64
call fcn.004e8fb0
mov dword [ebp - 0x2c0], eax
lea ecx, [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.00531030
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 0x1a
push 0x5a7f80
lea ecx, [ebp - 0x398]
call fcn.004e8fb0
mov byte [ebp - 4], 0x1b
push 0x5a7f84
lea ecx, [ebp - 0x368]
call fcn.004e8fb0
mov byte [ebp - 4], 0x1c
lea edx, [ebp - 0x398]
push edx
lea eax, [ebp - 0x368]
push eax
lea ecx, [ebp - 0x54]
push ecx
call fcn.004e30a0
add esp, 0xc
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x368]
call fcn.004e90c0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x398]
call fcn.004e90c0
push 0x2c
lea edx, [ebp - 0x34]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x7c
call fcn.004e92b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2bc], esp
push eax
push ecx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0xd4], eax
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x244], edx
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x54]
call fcn.004e92b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x284], esp
push eax
push ecx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0x24c], eax
mov byte [ebp - 4], 0x1a
call fcn.004e4ef0
add esp, 0x38
cmp dword [ebp - 0x34], 1
jne 0x53b939
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a4], esp
push str.need_update_npapi
call fcn.004e98c0
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531d70
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x2b8]
test eax, eax
je 0x53b7c5
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x54]
call fcn.004e90c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf20
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x2b8], 1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 1
push 0x5a7fd0
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542cd0
movzx eax, al
test eax, eax
je 0x53b85d
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xa8], 4
jne 0x53b85d
push str.___typefaupdate___hstrue___fatrue___fpfalse___fcfalse___strue
push 0x5a80f8
lea edx, [ebp - 0x518]
push edx
call fcn.004e2580
add esp, 0xc
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe4]
push eax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9990
lea ecx, [ebp - 0x518]
call fcn.004e99d0
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9c70
push eax
lea ecx, [ebp - 0x578]
push ecx
call fcn.004e3950
add esp, 4
mov dword [ebp - 0xec], eax
mov edx, dword [ebp - 0xec]
mov dword [ebp - 0xf4], edx
mov byte [ebp - 4], 0x1e
mov ecx, dword [ebp - 0xf4]
call fcn.004e9c70
push eax
push 0x5a8118
lea eax, [ebp - 0x548]
push eax
call fcn.004e2580
add esp, 0x10
mov dword [ebp - 0xfc], eax
mov ecx, dword [ebp - 0xfc]
push ecx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x270
call fcn.004e9990
lea ecx, [ebp - 0x548]
call fcn.004e99d0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x578]
call fcn.004e99d0
push 0
push 0
mov edx, dword [ebp - 0xb8]
push edx
push 0x5378f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp - 0x104]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x54]
call fcn.004e90c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf20
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x54]
call fcn.004e90c0
push 0x5a8148
push 0x5a813c
lea ecx, [ebp - 0x5a8]
push ecx
call fcn.004e2580
add esp, 0xc
mov dword [ebp - 0x10c], eax
mov edx, dword [ebp - 0x10c]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9990
lea ecx, [ebp - 0x5a8]
call fcn.004e99d0
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x48], 0
jle 0x53befa
mov ecx, dword [ebp - 0xb8]
movzx edx, byte [ecx + 0x2b8]
test edx, edx
je 0x53b9bc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf20
mov eax, dword [ebp - 0xb8]
add eax, 0x2dc
push eax
lea ecx, [ebp - 0x9c]
call fcn.004e8f30
mov byte [ebp - 4], 0x1f
push 0x5a81fc
lea ecx, [ebp - 0x3f8]
call fcn.004e8fb0
mov byte [ebp - 4], 0x20
push 0x5a8200
lea ecx, [ebp - 0x3c8]
call fcn.004e8fb0
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x3f8]
push ecx
lea edx, [ebp - 0x3c8]
push edx
lea eax, [ebp - 0x9c]
push eax
call fcn.004e30a0
add esp, 0xc
mov byte [ebp - 4], 0x20
lea ecx, [ebp - 0x3c8]
call fcn.004e90c0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x3f8]
call fcn.004e90c0
push 0x2c
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x4c
call fcn.004e92b0
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0x28c], esp
push eax
push edx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x25c], eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0x9c]
call fcn.004e92b0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b4], esp
push eax
push ecx
call fcn.004e1e00
add esp, 8
mov dword [ebp - 0x264], eax
mov byte [ebp - 4], 0x1f
call fcn.004e4ef0
add esp, 0x38
cmp dword [ebp - 0x3c], 1
jne 0x53beda
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x2b8], 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x294], esp
push 0x5a8280
call fcn.004e98c0
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0x26c], eax
mov byte [ebp - 4], 0x23
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x18c], esp
push 0x5a82c4
call fcn.004e98c0
mov dword [ebp - 0x194], eax
mov byte [ebp - 4], 0x1f
call fcn.004e8110
add esp, 0x30
mov byte [ebp - 0xba], al
movzx ecx, byte [ebp - 0xba]
test ecx, ecx
je 0x53bb87
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x19c], esp
push 0x5a830c
call fcn.004e8fb0
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531430
mov byte [ebp - 0xbb], al
movzx edx, byte [ebp - 0xbb]
test edx, edx
jne 0x53bb87
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x2bc], 0
push 0x5a8350
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
jmp 0x53bd34
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1ac], esp
push 0x5a83ac
call fcn.004e98c0
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
mov dword [ebp - 0x1b4], ecx
mov byte [ebp - 4], 0x24
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1bc], esp
push 0x5a83cc
call fcn.004e98c0
mov dword [ebp - 0x1c4], eax
mov byte [ebp - 4], 0x1f
call fcn.004e8110
add esp, 0x30
mov byte [ebp - 0xbf], al
movzx edx, byte [ebp - 0xbf]
test edx, edx
je 0x53bc4c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1cc], esp
push 0x5a84a8
call fcn.004e8fb0
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531430
mov byte [ebp - 0xc1], al
movzx eax, byte [ebp - 0xc1]
test eax, eax
jne 0x53bc4c
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x2bc], 2
push 0x5a84bc
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
jmp 0x53bd34
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1dc], esp
push 0x5a85fc
call fcn.004e98c0
mov dword [ebp - 0x134], eax
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x1e4], edx
mov byte [ebp - 4], 0x25
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1ec], esp
push 0x5a861c
call fcn.004e98c0
mov dword [ebp - 0x1f4], eax
mov byte [ebp - 4], 0x1f
call fcn.004e8110
add esp, 0x30
mov byte [ebp - 0xc3], al
movzx eax, byte [ebp - 0xc3]
test eax, eax
je 0x53bd0e
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1fc], esp
push 0x5a8640
call fcn.004e8fb0
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531430
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xb9]
test ecx, ecx
jne 0x53bd0e
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 1
push 0x5a866c
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
jmp 0x53bd34
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x2bc], 0
push 0x5a86b0
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x94], 2
jne 0x53bd8e
mov edx, dword [ebp - 0xb8]
cmp dword [edx + 0x48], 1
jne 0x53bd67
push str.___typehsupdate___updatetypehs___hstyperc
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
jmp 0x53bd89
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x48], 2
jne 0x53bd89
push str.___typepartialupdate___fpfalse___hstrue___updatetypehs___hstyperc
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
jmp 0x53be1e
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x48], 1
jne 0x53bdd7
push 0x5a8828
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
mov edx, dword [ebp - 0xb8]
cmp dword [edx + 0x9c], 3
jne 0x53bdd5
push str.___typehsupdate___updatetypehs___hstypebeta
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
jmp 0x53be1e
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x48], 2
jne 0x53be1e
push str.___typepartialupdate___fpfalse___hstrue___updatetypehs
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x9c], 3
jne 0x53be1e
push str.___typehcupdatewithoffer
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9c70
push eax
lea edx, [ebp - 0x608]
push edx
call fcn.004e3950
add esp, 4
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0x144], eax
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x144]
call fcn.004e9c70
push eax
push 0x5a89dc
lea ecx, [ebp - 0x5d8]
push ecx
call fcn.004e2580
add esp, 0x10
mov dword [ebp - 0x14c], eax
mov edx, dword [ebp - 0x14c]
push edx
mov ecx, dword [ebp - 0xb8]
add ecx, 0x270
call fcn.004e9990
lea ecx, [ebp - 0x5d8]
call fcn.004e99d0
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x608]
call fcn.004e99d0
push 0
push 0
mov eax, dword [ebp - 0xb8]
push eax
push 0x5378f0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [ebp - 0x154], eax
mov ecx, dword [ebp - 0x154]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x9c]
call fcn.004e90c0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf20
push 0
push 0xea60
push 0x11
mov ecx, dword [ebp - 0xb8]
add ecx, 4
call fcn.00550f20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0055e48d
mov esp, ebp
pop ebp
ret