Function at 0x53a8a0
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x59fa48
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 0x5a70c6
call fcn.004e8fb0
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0xb8]
call fcn.0053e7d0
mov byte [ebp - 0xbd], al
movzx eax, byte [ebp - 0xbd]
test eax, eax
je 0x53aad8
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x214], esp
push 0x5a7478
call fcn.004e98c0
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531db0
push 0x5a74c0
lea ecx, [ebp - 0xb4]
push ecx
call fcn.004e2580
add esp, 8
mov dword [ebp - 4], 0
push 0x5a751c
lea ecx, [ebp - 0x380]
call fcn.004e98c0
mov byte [ebp - 4], 1
push 0x5a7528
lea ecx, [ebp - 0x320]
call fcn.004e98c0
mov byte [ebp - 4], 2
push 0x5a7548
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 0x53bf60
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x2b9], 1
push 0x5a7558
push 0x5a75c8
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 0x53abee
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.0053d870
movzx ecx, al
test ecx, ecx
je 0x53abee
push 0x5a75e8
push 0x5a7670
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.005318d0
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x9c], 3
jne 0x53ac3f
push str.___typehcupdate
push 0x5a7710
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 0x53ac90
push 0x5a7724
push 0x5a7754
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 0x53aca6
jmp 0x53bf60
mov edx, dword [ebp - 0xb8]
add edx, 0x2dc
push edx
lea ecx, [ebp - 0x28]
call fcn.004e8f30
mov dword [ebp - 4], 8
push 0x5a777c
lea ecx, [ebp - 0x350]
call fcn.004e8fb0
mov byte [ebp - 4], 9
push 0x5a7780
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 0x53aee4
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542d10
movzx edx, al
test edx, edx
je 0x53aee4
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0xa8], 4
jne 0x53aee4
push 0x5a77e0
push 0x5a786c
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 0x5a7874
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 0x537930
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 0x53bf60
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x29c], esp
push 0x5a78d8
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 0x5a791c
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 0x53b27b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x238], esp
push 0x5a7944
call fcn.004e8fb0
mov dword [ebp - 0x1b8], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531470
mov byte [ebp - 0xc0], al
movzx eax, byte [ebp - 0xc0]
test eax, eax
jne 0x53b27b
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x240], esp
push 0x5a79b4
call fcn.004e8fb0
mov dword [ebp - 0x1c0], eax
lea ecx, [ebp - 0x84]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.00531070
mov dword [ebp - 0x248], eax
mov byte [ebp - 4], 0xe
push 0x5a79cc
lea ecx, [ebp - 0x2f0]
call fcn.004e8fb0
mov byte [ebp - 4], 0xf
push 0x5a7a08
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 0x53b26c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1d8], esp
push 0x5a7a7c
call fcn.004e98c0
mov dword [ebp - 0x188], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531db0
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x2b8]
test eax, eax
je 0x53b0f5
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 0x53bf60
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x2b8], 1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 0
push 0x5a7acc
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542d10
movzx eax, al
test eax, eax
je 0x53b18d
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xa8], 4
jne 0x53b18d
push 0x5a7b10
push 0x5a7b98
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 0x5a7bf4
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 0x537930
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 0x53bf60
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x84]
call fcn.004e90c0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1e0], esp
push 0x5a7c9c
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 0x5a7cbc
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 0x53b600
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1f0], esp
push 0x5a7ce0
call fcn.004e8fb0
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531470
mov byte [ebp - 0xc4], al
movzx eax, byte [ebp - 0xc4]
test eax, eax
jne 0x53b600
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1f8], esp
push 0x5a7d10
call fcn.004e8fb0
mov dword [ebp - 0x280], eax
lea ecx, [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.00531070
mov dword [ebp - 0x200], eax
mov byte [ebp - 4], 0x14
push 0x5a7d24
lea ecx, [ebp - 0x338]
call fcn.004e8fb0
mov byte [ebp - 4], 0x15
push 0x5a7d64
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 0x53b5f4
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.00531db0
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x2b8]
test eax, eax
je 0x53b480
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 0x53bf60
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x2b8], 1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 2
push 0x5a7f0c
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542d10
movzx eax, al
test eax, eax
je 0x53b518
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xa8], 4
jne 0x53b518
push 0x5a7f48
push 0x5a7fd0
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 0x5a7fd8
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 0x537930
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 0x53bf60
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x6c]
call fcn.004e90c0
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2a0], esp
push 0x5a7ffc
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 0x5a801c
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 0x53b985
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b0], esp
push 0x5a8040
call fcn.004e8fb0
mov dword [ebp - 0x230], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531470
mov byte [ebp - 0xc2], al
movzx eax, byte [ebp - 0xc2]
test eax, eax
jne 0x53b985
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x2b8], esp
push 0x5a8054
call fcn.004e8fb0
mov dword [ebp - 0x2c0], eax
lea ecx, [ebp - 0x54]
push ecx
mov ecx, dword [ebp - 0xb8]
call fcn.00531070
mov dword [ebp - 0x23c], eax
mov byte [ebp - 4], 0x1a
push 0x5a8070
lea ecx, [ebp - 0x398]
call fcn.004e8fb0
mov byte [ebp - 4], 0x1b
push 0x5a8074
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 0x53b979
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.00531db0
mov edx, dword [ebp - 0xb8]
movzx eax, byte [edx + 0x2b8]
test eax, eax
je 0x53b805
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 0x53bf60
mov ecx, dword [ebp - 0xb8]
mov byte [ecx + 0x2b8], 1
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 1
push 0x5a80c0
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
push 0
mov ecx, dword [ebp - 0xb8]
call fcn.00542d10
movzx eax, al
test eax, eax
je 0x53b89d
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0xa8], 4
jne 0x53b89d
push str.___typefaupdate___hstrue___fatrue___fpfalse___fcfalse___strue
push 0x5a81e0
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 0x5a8208
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 0x537930
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 0x53bf60
mov byte [ebp - 4], 8
lea ecx, [ebp - 0x54]
call fcn.004e90c0
push 0x5a8238
push 0x5a822c
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 0x53bf3a
mov ecx, dword [ebp - 0xb8]
movzx edx, byte [ecx + 0x2b8]
test edx, edx
je 0x53b9fc
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
call fcn.004e90c0
jmp 0x53bf60
mov eax, dword [ebp - 0xb8]
add eax, 0x2dc
push eax
lea ecx, [ebp - 0x9c]
call fcn.004e8f30
mov byte [ebp - 4], 0x1f
push 0x5a82ec
lea ecx, [ebp - 0x3f8]
call fcn.004e8fb0
mov byte [ebp - 4], 0x20
push 0x5a82f0
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 0x53bf1a
mov edx, dword [ebp - 0xb8]
mov byte [edx + 0x2b8], 1
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x294], esp
push 0x5a8370
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 0x5a83b4
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 0x53bbc7
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x19c], esp
push 0x5a83f4
call fcn.004e8fb0
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531470
mov byte [ebp - 0xbb], al
movzx edx, byte [ebp - 0xbb]
test edx, edx
jne 0x53bbc7
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x2bc], 0
push 0x5a8410
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
jmp 0x53bd74
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1ac], esp
push 0x5a846c
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 0x5a848c
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 0x53bc8c
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1cc], esp
push 0x5a8568
call fcn.004e8fb0
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531470
mov byte [ebp - 0xc1], al
movzx eax, byte [ebp - 0xc1]
test eax, eax
jne 0x53bc8c
mov ecx, dword [ebp - 0xb8]
mov dword [ecx + 0x2bc], 2
push 0x5a857c
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
jmp 0x53bd74
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1dc], esp
push 0x5a86bc
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 0x5a86dc
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 0x53bd4e
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x1fc], esp
push 0x5a8700
call fcn.004e8fb0
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xb8]
call fcn.00531470
mov byte [ebp - 0xb9], al
movzx ecx, byte [ebp - 0xb9]
test ecx, ecx
jne 0x53bd4e
mov edx, dword [ebp - 0xb8]
mov dword [edx + 0x2bc], 1
push 0x5a872c
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
jmp 0x53bd74
mov eax, dword [ebp - 0xb8]
mov dword [eax + 0x2bc], 0
push 0x5a8770
mov ecx, dword [ebp - 0xb8]
add ecx, 0x288
call fcn.004e9a20
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x94], 2
jne 0x53bdce
mov edx, dword [ebp - 0xb8]
cmp dword [edx + 0x48], 1
jne 0x53bda7
push str.___typehsupdate___updatetypehs___hstyperc
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
jmp 0x53bdc9
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x48], 2
jne 0x53bdc9
push str.___typepartialupdate___fpfalse___hstrue___updatetypehs___hstyperc
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
jmp 0x53be5e
mov ecx, dword [ebp - 0xb8]
cmp dword [ecx + 0x48], 1
jne 0x53be17
push 0x5a88e8
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
mov edx, dword [ebp - 0xb8]
cmp dword [edx + 0x9c], 3
jne 0x53be15
push str.___typehsupdate___updatetypehs___hstypebeta
mov ecx, dword [ebp - 0xb8]
add ecx, 0x2a0
call fcn.004e9a20
jmp 0x53be5e
mov eax, dword [ebp - 0xb8]
cmp dword [eax + 0x48], 2
jne 0x53be5e
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 0x53be5e
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 0x5a8a9c
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 0x537930
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 0x53bf60
push 0
push 0xea60
push 0x11
mov ecx, dword [ebp - 0xb8]
add ecx, 4
call fcn.00551030
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.0055e4ed
mov esp, ebp
pop ebp
ret