Function at 0x53a0d0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59f124
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 0x5a6f4d
call fcn.004e8fb0
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0xb8]
call fcn.0053e000
mov byte [ebp - 0xbd], al
movzx eax, byte [ebp - 0xbd]
test eax, eax
je 0x53a308
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x214], esp
push 0x5a7238
call fcn.004e98c0
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531c70
push str._type_:_noUpdate___vertype_:_release_
lea ecx, [ebp - 0xb4]
push ecx
call fcn.004e2580
add esp, 8
mov dword [ebp - 4], 0
push 0x5a7284
lea ecx, [ebp - 0x380]
call fcn.004e98c0
mov byte [ebp - 4], 1
push 0x5a72e0
lea ecx, [ebp - 0x320]
call fcn.004e98c0
mov byte [ebp - 4], 2
push 0x5a7300
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 0x53b790
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x2b9], 1
push 0x5a7310
push 0x5a7380
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 0x53a41e
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.0053d0a0
movzx ecx, al
test ecx, ecx
je 0x53a41e
push 0x5a73a0
push 0x5a7428
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.00531790
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x9c], 3
jne 0x53a46f
push str.___typehcupdate
push 0x5a74d0
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 0x53a4c0
push 0x5a74e4
push 0x5a7514
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 0x53a4d6
jmp 0x53b790
mov edx, dword [ebp - 0xb8]
add edx, 0x2dc
push edx
lea ecx, [ebp - 0x28]
call fcn.004e8f30
mov dword [ebp - 4], 8
push 0x5a7560
lea ecx, [ebp - 0x350]
call fcn.004e8fb0
mov byte [ebp - 4], 9
push 0x5a7564
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 0x53a714
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542540
movzx edx, al
test edx, edx
je 0x53a714
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0xa8], 4
jne 0x53a714
push 0x5a7628
push 0x5a76b4
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 0x5a76bc
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 0x537160
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 0x53b790
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x29c], esp
push 0x5a771c
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 0x5a773c
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 0x53aaab
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x238], esp
push 0x5a777c
call fcn.004e8fb0
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531330
mov byte [ebp - 0xc0], al
movzx eax, byte [ebp - 0xc0]
test eax, eax
jne 0x53aaab
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x240], esp
push 0x5a77ac
call fcn.004e8fb0
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x84]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.00530f30
mov dword [ebp - 0x248], eax
mov byte [ebp - 4], 0xe
push 0x5a77ec
lea ecx, [ebp - 0x2f0]
call fcn.004e8fb0
mov byte [ebp - 4], 0xf
push 0x5a7808
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 0x53aa9c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1d8], esp
push 0x5a7864
call fcn.004e98c0
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531c70
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x2b8]
test eax, eax
je 0x53a925
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 0x53b790
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x2b8], 1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 0
push 0x5a78a0
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542540
movzx eax, al
test eax, eax
je 0x53a9bd
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xa8], 4
jne 0x53a9bd
push 0x5a7908
push 0x5a7990
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 0x5a79a8
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 0x537160
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 0x53b790
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x84]
call fcn.004e90c0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1e0], esp
push 0x5a7a00
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 0x5a7a20
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 0x53ae30
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1f0], esp
push 0x5a7a48
call fcn.004e8fb0
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531330
mov byte [ebp - 0xc4], al
movzx eax, byte [ebp - 0xc4]
test eax, eax
jne 0x53ae30
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push 0x5a7a68
call fcn.004e8fb0
mov dword [ebp - 0x280], eax
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.00530f30
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 0x14
push 0x5a7a84
lea ecx, [ebp - 0x338]
call fcn.004e8fb0
mov byte [ebp - 4], 0x15
push 0x5a7ac4
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 0x53ae24
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.00531c70
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x2b8]
test eax, eax
je 0x53acb0
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 0x53b790
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x2b8], 1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 2
push 0x5a7c40
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542540
movzx eax, al
test eax, eax
je 0x53ad48
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xa8], 4
jne 0x53ad48
push 0x5a7c80
push 0x5a7d08
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 0x5a7d24
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 0x537160
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 0x53b790
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6c]
call fcn.004e90c0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push 0x5a7d5c
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 0x5a7d7c
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 0x53b1b5
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b0], esp
push 0x5a7da0
call fcn.004e8fb0
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531330
mov byte [ebp - 0xc2], al
movzx eax, byte [ebp - 0xc2]
test eax, eax
jne 0x53b1b5
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b8], esp
push 0x5a7db4
call fcn.004e8fb0
mov dword [ebp - 0x2c0], eax
lea ecx, [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.00530f30
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 0x1a
push 0x5a7de4
lea ecx, [ebp - 0x398]
call fcn.004e8fb0
mov byte [ebp - 4], 0x1b
push 0x5a7de8
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 0x53b1a9
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.00531c70
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x2b8]
test eax, eax
je 0x53b035
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 0x53b790
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x2b8], 1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 1
push 0x5a7e90
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542540
movzx eax, al
test eax, eax
je 0x53b0cd
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xa8], 4
jne 0x53b0cd
push str.___typefaupdate___hstrue___fatrue___fpfalse___fcfalse___strue
push 0x5a7fa0
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 0x5a7ef4
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 0x537160
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 0x53b790
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x54]
call fcn.004e90c0
push 0x5a7fd0
push 0x5a7fc4
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 0x53b76a
mov ecx, dword [ebp - 0xb8]
movzx edx, byte [ecx + 0x2b8]
test edx, edx
je 0x53b22c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53b790
mov eax, dword [ebp - 0xb8]
add eax, 0x2dc
push eax
lea ecx, [ebp - 0x9c]
call fcn.004e8f30
mov byte [ebp - 4], 0x1f
push str._.110
lea ecx, [ebp - 0x3f8]
call fcn.004e8fb0
mov byte [ebp - 4], 0x20
push 0x5a808c
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 0x53b74a
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x2b8], 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x294], esp
push 0x5a80c0
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 0x5a80e0
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 0x53b3f7
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x19c], esp
push 0x5a8110
call fcn.004e8fb0
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531330
mov byte [ebp - 0xbb], al
movzx edx, byte [ebp - 0xbb]
test edx, edx
jne 0x53b3f7
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x2bc], 0
push 0x5a812c
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
jmp 0x53b5a4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1ac], esp
push 0x5a8180
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 0x5a8220
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 0x53b4bc
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1cc], esp
push 0x5a8274
call fcn.004e8fb0
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531330
mov byte [ebp - 0xc1], al
movzx eax, byte [ebp - 0xc1]
test eax, eax
jne 0x53b4bc
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x2bc], 2
push 0x5a8288
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
jmp 0x53b5a4
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1dc], esp
push 0x5a82fc
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 0x5a831c
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 0x53b57e
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1fc], esp
push 0x5a83ec
call fcn.004e8fb0
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531330
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xb9]
test ecx, ecx
jne 0x53b57e
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 1
push 0x5a8400
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
jmp 0x53b5a4
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x2bc], 0
push 0x5a8444
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x94], 2
jne 0x53b5fe
mov edx, dword [ebp - 0xb8]
cmp dword [edx + 0x48], 1
jne 0x53b5d7
push str.___typehsupdate___updatetypehs___hstyperc
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
jmp 0x53b5f9
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x48], 2
jne 0x53b5f9
push str.___typepartialupdate___fpfalse___hstrue___updatetypehs___hstyperc
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
jmp 0x53b68e
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x48], 1
jne 0x53b647
push 0x5a85a0
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
mov edx, dword [ebp - 0xb8]
cmp dword [edx + 0x9c], 3
jne 0x53b645
push str.___typehsupdate___updatetypehs___hstypebeta
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
jmp 0x53b68e
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x48], 2
jne 0x53b68e
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 0x53b68e
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 0x5a86bc
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 0x537160
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 0x53b790
push 0
push 0xea60
push 0x11
mov ecx, dword [ebp - 0xb8]
add ecx, 4
call fcn.00550790
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.0055dcfd
mov esp, ebp
pop ebp
ret