Function at 0x1002abf0
Capabilities:
Contain obfuscated stackstrings
Encode data using base64
Get number of processors

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1008b8cb
mov eax, dword fs:[0]
push eax
mov eax, 0x124c
call fcn.100850e0
mov eax, dword [0x100c4014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x34c], ebx
mov ecx, dword [ebp + 0x10]
mov eax, dword [ebp + 8]
mov dword [ebp - 0x358], ecx
mov ecx, 0x100c75db
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x340], 0
call fcn.10085165
lea esi, [ebx + 0x20]
mov dword [ebx + 0x80], 0x3e8
cmp dword [esi + 0x10], 0
lea eax, [esi + 0x18]
lea edi, [esi + 0x30]
mov dword [ebp - 0x344], eax
lea ecx, [esi + 0x48]
mov dword [ebp - 0x350], edi
mov dword [ebp - 0x32c], ecx
je 0x1002d1d2
cmp dword [eax + 0x10], 0
je 0x1002d1d2
mov eax, dword [ebp - 0x338]
cmp dword [eax + 0x10], 0
je 0x1002d1d2
cmp dword [edi + 0x10], 0
je 0x1002d1d2
cmp dword [ecx + 0x10], 0
je 0x1002d1d2
cmp byte [ebx + 0x14], 0
jne 0x1002d1dc
lea ecx, [ebp - 0x148]
call fcn.10005000
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x190]
call fcn.10005000
mov byte [ebp - 4], 1
xorps xmm0, xmm0
movq qword [ebp - 0x70], xmm0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov byte [ebp - 4], 2
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x190]
push eax
lea eax, [ebp - 0x148]
push eax
push ecx
push dword [ebp - 0x338]
mov ecx, ebx
call fcn.10025140
test al, al
jne 0x1002ad70
cmp dword [ebx + 0x80], 0
jne 0x1002ad3a
mov dword [ebx + 0x80], 0x3e8
xor bl, bl
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x70]
call fcn.1000fc20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x190]
call fcn.10004fa0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x148]
call fcn.10004fa0
mov al, bl
jmp 0x1002d1de
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x70]
mov dword [ebp - 0x354], eax
or eax, 0
je 0x1002ad3a
cmp dword [ebp - 0x138], 0
je 0x1002ad3a
cmp byte [ebx + 0x14], 0
jne 0x1002ad3a
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
movq qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x44], 0
mov byte [ebp - 4], 0x23
cmp byte [ebx + 0x1d], 0
je 0x1002ae13
mov ecx, dword [ebp - 0x6c]
lea edx, [ebp - 0x4c]
mov eax, dword [ebp - 0x70]
sub ecx, eax
push edx
push ecx
push eax
call fcn.10024640
mov dword [ebp - 0x3a0], 0
mov dword [ebp - 0x39c], 0
mov dword [ebp - 0x398], 0
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x3a0]
push eax
lea ecx, [ebp - 0x70]
call fcn.10028fc0
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x3a0]
call fcn.1000fc20
jmp 0x1002ae1f
lea eax, [ebp - 0x70]
push eax
lea ecx, [ebp - 0x4c]
call fcn.10028fc0
mov ecx, dword [ebp - 0x48]
sub ecx, dword [ebp - 0x4c]
mov eax, ecx
mov dword [ebp - 0x348], ecx
or eax, 0
je 0x1002d1bf
cmp byte [ebx + 0x14], 0
jne 0x1002d1bf
cmp byte [ebx + 0x1c], 0
je 0x1002ae4f
push ecx
push dword [ebp - 0x4c]
call fcn.10024950
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
movq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0x720]
push edi
call fcn.1002f420
add esp, 4
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xb08]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0xb08]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xb08]
call fcn.10028780
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x71c]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x39
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x35
lea eax, [esi + 0x48]
push eax
lea ecx, [ebp - 0x73c]
call fcn.1002f540
add esp, 4
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xb38]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x3e
lea eax, [ebp - 0xb38]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xb38]
call fcn.10028780
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x738]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x40
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0x334]
push eax
lea ecx, [ebp - 0xec8]
mov dword [ebp - 0x334], str.action_type
mov dword [ebp - 0x330], str.login
call fcn.1002f5d0
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0xec8]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x35
lea ecx, [ebp - 0xec8]
call fcn.10028780
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x45
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov byte [ebp - 4], 0x48
xor eax, eax
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 7
mov word [ebp - 0xa0], ax
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0xa0]
cmp eax, edi
je 0x1002aff6
cmp dword [edi + 0x14], 8
mov eax, edi
jb 0x1002afe7
mov eax, dword [edi]
push dword [edi + 0x10]
lea ecx, [ebp - 0xa0]
push eax
call fcn.1000db60
lea eax, [ebp - 0x7f0]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10032da0
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x758]
push eax
call fcn.1002f640
add esp, 4
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0xb68]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x4d
lea eax, [ebp - 0xb68]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0xb68]
call fcn.10028780
mov byte [ebp - 4], 0x4b
lea eax, [ebp - 0x754]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x4f
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x4b
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0x7f0]
call fcn.10005a50
mov byte [ebp - 4], 0x4a
mov byte [ebp - 4], 0x4a
lea eax, [ebp - 0x808]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10032f70
mov byte [ebp - 4], 0x57
lea ecx, [ebp - 0x774]
push eax
call fcn.1002f6f0
add esp, 4
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0xb98]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x59
lea eax, [ebp - 0xb98]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x58
lea ecx, [ebp - 0xb98]
call fcn.10028780
mov byte [ebp - 4], 0x57
lea eax, [ebp - 0x770]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x5b
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x57
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x808]
call fcn.10005a50
mov byte [ebp - 4], 0x4a
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0xb8]
call fcn.10005000
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0xb8]
push 0
push dword [ebp - 0x354]
push str._I64u
push eax
call fcn.1003ed20
lea eax, [ebp - 0xb8]
mov edx, str.file_size
push eax
lea ecx, [ebp - 0x790]
call fcn.1002f7a0
add esp, 0x14
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xbc8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x65
lea eax, [ebp - 0xbc8]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x64
lea ecx, [ebp - 0xbc8]
call fcn.10028780
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x78c]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x67
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x7ac]
call fcn.1002f810
add esp, 4
mov byte [ebp - 4], 0x6b
lea ecx, [ebp - 0xbf8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x6c
lea eax, [ebp - 0xbf8]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x6b
lea ecx, [ebp - 0xbf8]
call fcn.10028780
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x7a8]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x6e
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0xb8]
push 0
push dword [ebp - 0x348]
push str._I64u
push eax
call fcn.1003ed20
lea eax, [ebp - 0xb8]
mov edx, str.data_size
push eax
lea ecx, [ebp - 0x7c8]
call fcn.1002f7a0
add esp, 0x14
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0xc28]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x73
lea eax, [ebp - 0xc28]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x72
lea ecx, [ebp - 0xc28]
call fcn.10028780
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x7c4]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x75
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x820]
push eax
call fcn.10033350
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x3f4]
push eax
call fcn.1002f880
add esp, 4
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0xc58]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x7b
lea eax, [ebp - 0xc58]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x7a
lea ecx, [ebp - 0xc58]
call fcn.10028780
mov byte [ebp - 4], 0x79
lea eax, [ebp - 0x3f0]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x7d
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x79
mov byte [ebp - 4], 0x81
lea ecx, [ebp - 0x820]
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea eax, [ebp - 0x320]
push 0x118
push 0
push eax
mov dword [ebp - 0x324], 0x11c
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x324]
call fcn.10045480
movzx eax, al
mov edi, 0x1009fb1c
mov dword [ebp - 0x328], eax
test eax, eax
je 0x1002b836
mov edx, dword [ebp - 0x320]
lea ecx, [ebp - 0x838]
call fcn.1003ec50
mov byte [ebp - 4], 0x85
mov edx, str.os_major_version
push eax
lea ecx, [ebp - 0x410]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0xc88]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x87
lea eax, [ebp - 0xc88]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0xc88]
call fcn.10028780
mov byte [ebp - 4], 0x85
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0x89
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x85
mov byte [ebp - 4], 0x8d
lea ecx, [ebp - 0x838]
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x850]
mov edx, dword [ebp - 0x31c]
call fcn.1003ec50
mov byte [ebp - 4], 0x91
mov edx, str.os_minor_version
push eax
lea ecx, [ebp - 0x42c]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0x92
lea ecx, [ebp - 0xcb8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x93
lea eax, [ebp - 0xcb8]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x92
lea ecx, [ebp - 0xcb8]
call fcn.10028780
mov byte [ebp - 4], 0x91
lea eax, [ebp - 0x428]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0x95
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x91
mov byte [ebp - 4], 0x99
lea ecx, [ebp - 0x850]
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x868]
mov edx, dword [ebp - 0x318]
call fcn.1003ec50
mov byte [ebp - 4], 0x9d
mov edx, str.os_build_number
push eax
lea ecx, [ebp - 0x448]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0xce8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x9f
lea eax, [ebp - 0xce8]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x9e
lea ecx, [ebp - 0xce8]
call fcn.10028780
mov byte [ebp - 4], 0x9d
lea eax, [ebp - 0x444]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0xa1
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x9d
mov byte [ebp - 4], 0xa5
lea ecx, [ebp - 0x868]
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x880]
mov edx, dword [ebp - 0x314]
call fcn.1003ec50
mov byte [ebp - 4], 0xa9
lea ecx, [ebp - 0x464]
push eax
call fcn.1002f9e0
add esp, 4
mov byte [ebp - 4], 0xaa
lea ecx, [ebp - 0xd18]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xab
lea eax, [ebp - 0xd18]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0xaa
lea ecx, [ebp - 0xd18]
call fcn.10028780
mov byte [ebp - 4], 0xa9
lea eax, [ebp - 0x460]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0xad
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xa9
mov byte [ebp - 4], 0xb1
lea ecx, [ebp - 0x880]
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x898]
movzx edx, word [ebp - 0x210]
call fcn.1003ec50
mov byte [ebp - 4], 0xb5
mov edx, str.os_service_pack_major
push eax
lea ecx, [ebp - 0x480]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0xb6
lea ecx, [ebp - 0xd48]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xb7
lea eax, [ebp - 0xd48]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0xb6
lea ecx, [ebp - 0xd48]
call fcn.10028780
mov byte [ebp - 4], 0xb5
lea eax, [ebp - 0x47c]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0xb9
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xb5
mov byte [ebp - 4], 0xbd
lea ecx, [ebp - 0x898]
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x8b0]
movzx edx, word [ebp - 0x20e]
call fcn.1003ec50
mov byte [ebp - 4], 0xc1
mov edx, str.os_service_pack_minor
push eax
lea ecx, [ebp - 0x49c]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0xc2
lea ecx, [ebp - 0xd78]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xc3
lea eax, [ebp - 0xd78]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0xc2
lea ecx, [ebp - 0xd78]
call fcn.10028780
mov byte [ebp - 4], 0xc1
lea eax, [ebp - 0x498]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0xc5
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xc1
mov byte [ebp - 4], 0xc9
lea ecx, [ebp - 0x8b0]
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x8c8]
movzx edx, word [ebp - 0x20c]
call fcn.1003ec50
mov byte [ebp - 4], 0xcd
lea ecx, [ebp - 0x4b8]
push eax
call fcn.1002fa90
add esp, 4
mov byte [ebp - 4], 0xce
lea ecx, [ebp - 0xda8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xcf
lea eax, [ebp - 0xda8]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0xce
lea ecx, [ebp - 0xda8]
call fcn.10028780
mov byte [ebp - 4], 0xcd
lea eax, [ebp - 0x4b4]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0xd1
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xcd
mov byte [ebp - 4], 0xd5
lea ecx, [ebp - 0x8c8]
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x8e0]
movzx edx, byte [ebp - 0x20a]
call fcn.1003ec50
mov byte [ebp - 4], 0xd9
mov edx, str.os_product_type
push eax
lea ecx, [ebp - 0x4d4]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0xda
lea ecx, [ebp - 0xdd8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xdb
lea eax, [ebp - 0xdd8]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0xda
lea ecx, [ebp - 0xdd8]
call fcn.10028780
mov byte [ebp - 4], 0xd9
lea eax, [ebp - 0x4d0]
mov dword [ebp - 0x330], eax
mov byte [ebp - 4], 0xdd
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xd9
mov byte [ebp - 4], 0xe1
lea ecx, [ebp - 0x8e0]
call fcn.10005a50
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x63
call fcn.100453f0
test al, al
mov dword [ebp - 0x3a8], str.os_bits
mov ecx, 0x1009fb14
lea eax, [ebp - 0x3a8]
cmove ecx, edi
mov dword [ebp - 0x3a4], ecx
lea ecx, [ebp - 0xe08]
push eax
call fcn.1002f5d0
mov byte [ebp - 4], 0xe5
lea eax, [ebp - 0xe08]
push eax
lea ecx, [ebp - 0x28]
call fcn.1002f0e0
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0xe08]
call fcn.10028780
mov ecx, ebx
mov dword [ebp - 0x330], 0
call fcn.1002f010
test eax, eax
je 0x1002b8e3
mov edi, dword [ebp - 0x340]
xor eax, eax
mov dword [ebp - 0x338], eax
nop dword [eax]
mov esi, dword [ebx]
add esi, eax
mov byte [ebp - 4], 0xe6
lea ecx, [ebp - 0xa90]
push esi
call fcn.10008c50
mov byte [ebp - 4], 0xe7
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0xa78]
call fcn.10008c50
mov byte [ebp - 4], 0xe6
lea eax, [ebp - 0xa90]
or edi, 1
lea ecx, [ebp - 0x28]
push eax
mov dword [ebp - 0x340], edi
call fcn.1002f0e0
and edi, 0xfffffffe
mov dword [ebp - 0x340], edi
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0xa90]
call fcn.10028780
mov esi, dword [ebp - 0x330]
mov ecx, ebx
add dword [ebp - 0x338], 0x30
inc esi
mov dword [ebp - 0x330], esi
call fcn.1002f010
cmp esi, eax
mov eax, dword [ebp - 0x338]
jb 0x1002b860
lea esi, [ebx + 0x20]
push 1
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.10026a70
mov byte [ebp - 4], 0xe9
cmp dword [ebp - 0xd8], 0
jne 0x1002b909
xor bl, bl
jmp 0x1002d0f0
lea ecx, [ebp - 0xd0]
call fcn.1000d8b0
mov byte [ebp - 4], 0xff
lea ecx, [ebp - 0xd0]
push 0xc
push str.data_version
call fcn.1000de70
push 1
push 0x1009fb44
lea ecx, [ebp - 0xd0]
call fcn.1001bc30
push 3
push 0x1009fb48
lea ecx, [ebp - 0xd0]
call fcn.1001bc30
push 1
push 0x1009fb4c
lea ecx, [ebp - 0xd0]
call fcn.1001bc30
push 0xb
push str.client_data
lea ecx, [ebp - 0xd0]
call fcn.1001bc30
push 1
push 0x1009fb44
lea ecx, [ebp - 0xd0]
call fcn.1001bc30
cmp dword [ebp - 0xd4], 0x10
lea eax, [ebp - 0xe8]
push dword [ebp - 0xd8]
cmovae eax, dword [ebp - 0xe8]
lea ecx, [ebp - 0xd0]
push eax
call fcn.1001bc30
mov edi, dword [ebp - 0x358]
sub esp, 0xc
mov ecx, edi
push esi
mov byte [edi + 0x1c], 1
call fcn.100383f0
test al, al
jne 0x1002b9d4
mov dword [ebx + 0x80], 0x3ea
xor bl, bl
jmp 0x1002d0e1
lea ecx, [ebp - 0x100]
call fcn.1000d8b0
mov dword [ebp - 4], 0x119
xorps xmm0, xmm0
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov byte [ebp - 4], 0x1a
lea eax, [ebp - 0xd0]
cmp dword [ebp - 0xbc], 0x10
lea ebx, [esi + 0x18]
mov edx, dword [ebp - 0xc0]
mov ecx, ebx
cmovae eax, dword [ebp - 0xd0]
cmp dword [ebx + 0x14], 8
jb 0x1002ba35
mov ecx, dword [ebx]
mov byte [ebp - 4], 0x1b
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x368], 0
mov byte [ebp - 4], 0x1e
xor esi, esi
mov dword [ebp - 0x36c], 0
mov dword [ebp - 0x368], 7
mov word [ebp - 0x37c], si
mov byte [ebp - 4], 0x1f
lea esi, [ebp - 0x58]
push esi
lea esi, [ebp - 0x100]
push esi
push ecx
lea esi, [ebp - 0x37c]
push esi
push 0x4080000
push edx
push eax
push 0x1009e310
push ecx
mov ecx, edi
call fcn.10038dc0
mov bl, al
mov byte [ebp - 4], 0x20
mov ecx, esi
call fcn.10005a50
mov byte [ebp - 4], 0x1a
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x34c]
test bl, bl
jne 0x1002bac7
mov dword [ecx + 0x80], 0x3ea
jmp 0x1002d05a
lea eax, [ebp - 0x100]
push eax
call fcn.100272f0
test al, al
jne 0x1002bade
xor bl, bl
jmp 0x1002d05a
lea ecx, [ebp - 0x160]
call fcn.10005000
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x130]
call fcn.10005000
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x330], 0
call fcn.1002f010
test eax, eax
je 0x1002bbc1
xor ebx, ebx
mov dword [ebp - 0x338], ebx
nop
mov esi, dword [ebp - 0x58]
add esi, ebx
mov edi, esi
mov eax, dword [esi + 0x14]
cmp eax, 8
jb 0x1002bb31
mov edi, dword [esi]
mov ebx, dword [esi + 0x10]
cmp ebx, 4
jne 0x1002bb5e
mov ecx, str.dict
mov edx, ebx
sub edi, ecx
mov ax, word [ecx + edi]
cmp ax, word [ecx]
jne 0x1002bb5b
add ecx, 2
sub edx, 1
jne 0x1002bb42
lea ecx, [ebp - 0x130]
jmp 0x1002bb8c
mov eax, dword [esi + 0x14]
mov edi, esi
cmp eax, 8
jb 0x1002bb67
mov edi, dword [esi]
cmp ebx, 4
jne 0x1002bb95
mov eax, str.tgid
mov edx, ebx
sub edi, eax
mov cx, word [eax + edi]
cmp cx, word [eax]
jne 0x1002bb95
add eax, 2
sub edx, 1
jne 0x1002bb75
lea ecx, [ebp - 0x160]
lea eax, [esi + 0x18]
push eax
call fcn.10011b80
mov esi, dword [ebp - 0x330]
lea ecx, [ebp - 0x58]
mov ebx, dword [ebp - 0x338]
inc esi
add ebx, 0x30
mov dword [ebp - 0x330], esi
mov dword [ebp - 0x338], ebx
call fcn.1002f010
cmp esi, eax
jb 0x1002bb20
cmp dword [ebp - 0x120], 0
je 0x1002d03a
cmp dword [ebp - 0x150], 0
je 0x1002d03a
push 0xfde9
lea edx, [ebp - 0x160]
lea ecx, [ebp - 0x1c0]
call fcn.100417e0
mov byte [ebp - 4], 0x85
lea edx, [ebp - 0x130]
push 0xfde9
lea ecx, [ebp - 0x208]
call fcn.100417e0
mov byte [ebp - 4], 0x86
lea edx, [ebp - 0x130]
push 0xfde9
lea ecx, [ebp - 0x1f0]
call fcn.100417e0
add esp, 0xc
mov byte [ebp - 4], 0x87
mov esi, dword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_rand]
call esi
mov edi, eax
mov eax, 0x66666667
imul edi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + ecx*4]
add eax, eax
sub edi, eax
call esi
cdq
mov ecx, 9
xor eax, edx
sub eax, edx
cdq
idiv ecx
lea eax, [ebp - 0x1f0]
push edx
push edi
push eax
lea eax, [ebp - 0x208]
push eax
lea eax, [ebp - 0x1c0]
push eax
lea eax, [ebp - 0x118]
push eax
call fcn.10026120
mov byte [ebp - 4], 0x88
lea eax, [ebp - 0x160]
push eax
lea eax, [ebp - 0x130]
push eax
sub esp, 0x18
lea eax, [ebp - 0x118]
mov ecx, esp
mov dword [ebp - 0x330], esp
push eax
call fcn.10018030
mov byte [ebp - 4], 0x89
lea eax, [ebp - 0x3d8]
push eax
mov byte [ebp - 4], 0x88
call fcn.10025450
mov byte [ebp - 4], 0x8a
lea ecx, [ebp - 0x118]
push eax
call fcn.10017fb0
mov byte [ebp - 4], 0x8b
mov edx, dword [ebp - 0x3c4]
cmp edx, 0x10
jb 0x1002bd0d
mov ecx, dword [ebp - 0x3d8]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002bd03
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002bd03
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1008270f
add esp, 8
mov dword [ebp - 0x3c8], 0
mov dword [ebp - 0x3c4], 0xf
mov byte [ebp - 0x3d8], 0
mov byte [ebp - 4], 0x88
mov byte [ebp - 4], 0x88
sub esp, 0x20
lea eax, [ebp - 0x118]
mov dword [ebp - 0x330], esp
mov ecx, esp
push eax
call fcn.10018030
mov byte [ebp - 4], 0x8f
lea eax, [ebp - 0x3c0]
push eax
mov byte [ebp - 4], 0x88
call fcn.10025940
mov byte [ebp - 4], 0x90
lea ecx, [ebp - 0x118]
push eax
call fcn.10017fb0
mov byte [ebp - 4], 0x91
mov edx, dword [ebp - 0x3ac]
cmp edx, 0x10
jb 0x1002bdab
mov ecx, dword [ebp - 0x3c0]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1002bda1
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002bda1
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.1008270f
add esp, 8
mov dword [ebp - 0x3b0], 0
mov dword [ebp - 0x3ac], 0xf
mov byte [ebp - 0x3c0], 0
mov byte [ebp - 4], 0x88
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x1a8]
call fcn.10005000
mov byte [ebp - 4], 0x95
lea eax, [ebp - 0x1a8]
mov esi, dword [ebp - 0x108]
lea ecx, [ebp - 0x118]
push eax
call fcn.1000d700
mov edx, esi
mov ecx, eax
call fcn.10040d40
add esp, 4
cmp dword [ebp - 0x198], 0
jne 0x1002be11
xor bl, bl
jmp 0x1002cfed
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
movq qword [ebp - 0x1c], xmm0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0x4f0]
push dword [ebp - 0x350]
call fcn.1002f420
add esp, 4
mov byte [ebp - 4], 0x9c
lea ecx, [ebp - 0xe38]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x9d
lea eax, [ebp - 0xe38]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0x9c
lea ecx, [ebp - 0xe38]
call fcn.10028780
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x4ec]
mov dword [ebp - 0x350], eax
mov byte [ebp - 4], 0x9f
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x9b
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0x50c]
push dword [ebp - 0x32c]
call fcn.1002f540
add esp, 4
mov byte [ebp - 4], 0xa3
lea ecx, [ebp - 0xe68]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xa4
lea eax, [ebp - 0xe68]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xa3
lea ecx, [ebp - 0xe68]
call fcn.10028780
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x508]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xa6
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x9b
mov byte [ebp - 4], 0x9b
push ecx
lea ecx, [ebp - 0x7d0]
call fcn.1002fc40
add esp, 4
lea ecx, [ebp - 0xe98]
push eax
call fcn.1002f5d0
mov byte [ebp - 4], 0xaa
lea eax, [ebp - 0xe98]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0xe98]
call fcn.10028780
lea eax, [ebp - 0x940]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10032da0
mov byte [ebp - 4], 0xab
lea ecx, [ebp - 0x528]
push eax
call fcn.1002f640
add esp, 4
mov byte [ebp - 4], 0xac
lea ecx, [ebp - 0x1258]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xad
lea eax, [ebp - 0x1258]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xac
lea ecx, [ebp - 0x1258]
call fcn.10028780
mov byte [ebp - 4], 0xab
lea eax, [ebp - 0x524]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xaf
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xab
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0x940]
call fcn.10004fa0
lea eax, [ebp - 0x958]
push eax
lea ecx, [ebp - 0xa0]
call fcn.10032f70
mov byte [ebp - 4], 0xb3
lea ecx, [ebp - 0x544]
push eax
call fcn.1002f6f0
add esp, 4
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0xef8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xb5
lea eax, [ebp - 0xef8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0xef8]
call fcn.10028780
mov byte [ebp - 4], 0xb3
lea eax, [ebp - 0x540]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xb7
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xb3
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0x958]
call fcn.10004fa0
push 0
push dword [ebp - 0x354]
lea eax, [ebp - 0xb8]
push str._I64u
push eax
call fcn.1003ed20
lea eax, [ebp - 0xb8]
mov edx, str.file_size
push eax
lea ecx, [ebp - 0x560]
call fcn.1002f7a0
add esp, 0x14
mov byte [ebp - 4], 0xbb
lea ecx, [ebp - 0xf28]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xbc
lea eax, [ebp - 0xf28]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xbb
lea ecx, [ebp - 0xf28]
call fcn.10028780
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x55c]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xbe
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x9b
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x148]
push eax
lea ecx, [ebp - 0x57c]
call fcn.1002f810
add esp, 4
mov byte [ebp - 4], 0xc2
lea ecx, [ebp - 0xf58]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xc3
lea eax, [ebp - 0xf58]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xc2
lea ecx, [ebp - 0xf58]
call fcn.10028780
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x578]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xc5
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x9b
mov byte [ebp - 4], 0x9b
mov edx, 0x2d
push 0x5f
lea ecx, [ebp - 0x190]
call fcn.1003e860
lea ecx, [ebp - 0x190]
call fcn.1003eaa0
lea eax, [ebp - 0x190]
push eax
mov edx, str.file_name
lea ecx, [ebp - 0x598]
call fcn.1002f7a0
add esp, 8
mov byte [ebp - 4], 0xc9
lea ecx, [ebp - 0xf88]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xca
lea eax, [ebp - 0xf88]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xc9
lea ecx, [ebp - 0xf88]
call fcn.10028780
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x594]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xcc
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x9b
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0xb8]
push 0
push dword [ebp - 0x348]
push str._I64u
push eax
call fcn.1003ed20
lea eax, [ebp - 0xb8]
mov edx, str.data_size
push eax
lea ecx, [ebp - 0x5b4]
call fcn.1002f7a0
add esp, 0x14
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0xfb8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xd1
lea eax, [ebp - 0xfb8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0xfb8]
call fcn.10028780
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x5b0]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xd3
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x9b
mov byte [ebp - 4], 0x9b
xor eax, eax
mov edi, dword [ebp - 0x34c]
cmp byte [edi + 0x1c], al
setne al
push eax
lea eax, [ebp - 0xb8]
push 0x1009e7c0
push eax
call fcn.1003ed20
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x5d0]
call fcn.1002fc60
add esp, 0x10
mov byte [ebp - 4], 0xd7
lea ecx, [ebp - 0xfe8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xd8
lea eax, [ebp - 0xfe8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xd7
lea ecx, [ebp - 0xfe8]
call fcn.10028780
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x5cc]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xda
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x9b
mov byte [ebp - 4], 0x9b
xor eax, eax
cmp byte [edi + 0x1d], al
setne al
push eax
lea eax, [ebp - 0xb8]
push 0x1009e7c0
push eax
call fcn.1003ed20
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x5ec]
call fcn.1002fcd0
add esp, 0x10
mov byte [ebp - 4], 0xde
lea ecx, [ebp - 0x1018]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xdf
lea eax, [ebp - 0x1018]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xde
lea ecx, [ebp - 0x1018]
call fcn.10028780
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x5e8]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xe1
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x9b
mov byte [ebp - 4], 0x9b
lea eax, [ebp - 0x970]
push eax
call fcn.10033350
mov byte [ebp - 4], 0xe5
lea ecx, [ebp - 0x608]
push eax
call fcn.1002f880
add esp, 4
mov byte [ebp - 4], 0xe6
push eax
lea ecx, [ebp - 0x1048]
call fcn.1002f490
mov byte [ebp - 4], 0xe7
lea eax, [ebp - 0x1048]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xe6
lea ecx, [ebp - 0x1048]
call fcn.10028780
mov byte [ebp - 4], 0xe5
lea eax, [ebp - 0x604]
mov dword [ebp - 0x32c], eax
mov byte [ebp - 4], 0xe9
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xe5
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0x970]
call fcn.10004fa0
cmp dword [ebp - 0x328], 0
je 0x1002c8c1
mov edx, dword [ebp - 0x320]
lea ecx, [ebp - 0x988]
call fcn.1003ec50
mov byte [ebp - 4], 0xed
mov edx, str.os_major_version
push eax
lea ecx, [ebp - 0x624]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0xee
lea ecx, [ebp - 0x1078]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xef
lea eax, [ebp - 0x1078]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xee
lea ecx, [ebp - 0x1078]
call fcn.10028780
mov byte [ebp - 4], 0xed
lea eax, [ebp - 0x620]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0xf1
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xed
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0x988]
call fcn.10004fa0
mov edx, dword [ebp - 0x31c]
lea ecx, [ebp - 0x9a0]
call fcn.1003ec50
mov byte [ebp - 4], 0xf5
mov edx, str.os_minor_version
push eax
lea ecx, [ebp - 0x640]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0xf6
lea ecx, [ebp - 0x10a8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xf7
lea eax, [ebp - 0x10a8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xf6
lea ecx, [ebp - 0x10a8]
call fcn.10028780
mov byte [ebp - 4], 0xf5
lea eax, [ebp - 0x63c]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0xf9
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xf5
mov byte [ebp - 4], 0x9b
lea ecx, [ebp - 0x9a0]
call fcn.10004fa0
mov edx, dword [ebp - 0x318]
lea ecx, [ebp - 0x9b8]
call fcn.1003ec50
mov byte [ebp - 4], 0xfd
mov edx, str.os_build_number
push eax
lea ecx, [ebp - 0x65c]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0xfe
lea ecx, [ebp - 0x10d8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xff
lea eax, [ebp - 0x10d8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xfe
lea ecx, [ebp - 0x10d8]
call fcn.10028780
mov dword [ebp - 4], 0x1fd
lea eax, [ebp - 0x658]
mov dword [ebp - 0x328], eax
mov dword [ebp - 4], 0x201
mov ecx, eax
call fcn.10005a50
mov dword [ebp - 4], 0x1fd
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0x9b8]
call fcn.10004fa0
mov edx, dword [ebp - 0x314]
lea ecx, [ebp - 0x9d0]
call fcn.1003ec50
mov dword [ebp - 4], 0x205
lea ecx, [ebp - 0x678]
push eax
call fcn.1002f9e0
add esp, 4
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1108]
push eax
call fcn.1002f490
mov byte [ebp - 4], 7
lea eax, [ebp - 0x1108]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x1108]
call fcn.10028780
mov byte [ebp - 4], 5
lea eax, [ebp - 0x674]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 9
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 5
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0x9d0]
call fcn.10004fa0
movzx edx, word [ebp - 0x210]
lea ecx, [ebp - 0x9e8]
call fcn.1003ec50
mov dword [ebp - 4], 0x20d
mov edx, str.os_service_pack_major
push eax
lea ecx, [ebp - 0x694]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1138]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0xf
lea eax, [ebp - 0x1138]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1138]
call fcn.10028780
mov byte [ebp - 4], 0xd
lea eax, [ebp - 0x690]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x11
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0xd
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0x9e8]
call fcn.10004fa0
movzx edx, word [ebp - 0x20e]
lea ecx, [ebp - 0xa00]
call fcn.1003ec50
mov dword [ebp - 4], 0x215
mov edx, str.os_service_pack_minor
push eax
lea ecx, [ebp - 0x6b0]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1168]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x17
lea eax, [ebp - 0x1168]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0x1168]
call fcn.10028780
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x6ac]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x19
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x15
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0xa00]
call fcn.10004fa0
movzx edx, word [ebp - 0x20c]
lea ecx, [ebp - 0xa18]
call fcn.1003ec50
mov dword [ebp - 4], 0x21d
lea ecx, [ebp - 0x6cc]
push eax
call fcn.1002fa90
add esp, 4
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x1198]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x1198]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0x1e
lea ecx, [ebp - 0x1198]
call fcn.10028780
mov byte [ebp - 4], 0x1d
lea eax, [ebp - 0x6c8]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x21
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x1d
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0xa18]
call fcn.10004fa0
movzx edx, byte [ebp - 0x20a]
lea ecx, [ebp - 0xa30]
call fcn.1003ec50
mov dword [ebp - 4], 0x225
mov edx, str.os_product_type
push eax
lea ecx, [ebp - 0x6e8]
call fcn.1002f930
add esp, 4
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x11c8]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x27
lea eax, [ebp - 0x11c8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x11c8]
call fcn.10028780
mov byte [ebp - 4], 0x25
lea eax, [ebp - 0x6e4]
mov dword [ebp - 0x328], eax
mov byte [ebp - 4], 0x29
mov ecx, eax
call fcn.10005a50
mov byte [ebp - 4], 0x25
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0xa30]
call fcn.10004fa0
call fcn.100453f0
test al, al
mov ecx, 0x1009fb1c
mov eax, 0x1009fb14
cmove eax, ecx
lea ecx, [ebp - 0x7d8]
mov dword [ebp - 0x328], eax
lea eax, [ebp - 0x328]
push eax
call fcn.1002fb40
add esp, 4
lea ecx, [ebp - 0x11f8]
push eax
call fcn.1002f5d0
mov dword [ebp - 4], 0x22d
lea eax, [ebp - 0x11f8]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0x11f8]
call fcn.10028780
lea eax, [ebp - 0x1a8]
mov edx, str.check_sum
push eax
lea ecx, [ebp - 0x704]
call fcn.1002f7a0
add esp, 4
mov dword [ebp - 4], 0x22e
lea ecx, [ebp - 0x1228]
push eax
call fcn.1002f490
mov byte [ebp - 4], 0x2f
lea eax, [ebp - 0x1228]
push eax
lea ecx, [ebp - 0x1c]
call fcn.1002f0e0
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x1228]
call fcn.10028780
mov dword [ebp - 4], 0x19b
lea eax, [ebp - 0x700]
mov dword [ebp - 0x328], eax
mov dword [ebp - 4], 0x231
mov ecx, eax
call fcn.10005a50
mov dword [ebp - 4], 0x19b
mov dword [ebp - 4], 0x19b
mov ecx, edi
mov dword [ebp - 0x348], 0
call fcn.1002f010
test eax, eax
je 0x1002c9fa
mov ebx, dword [ebp - 0x340]
xor eax, eax
mov dword [ebp - 0x338], eax
nop word [eax + eax]
mov esi, dword [edi]
add esi, eax
mov dword [ebp - 4], 0x235
lea ecx, [ebp - 0xac0]
push esi
call fcn.10008c50
mov byte [ebp - 4], 0x36
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0xaa8]
call fcn.10008c50
mov byte [ebp - 4], 0x35
lea eax, [ebp - 0xac0]
or ebx, 2
lea ecx, [ebp - 0x1c]
push eax
mov dword [ebp - 0x340], ebx
call fcn.1002f0e0
and ebx, 0xfffffffd
mov dword [ebp - 0x340], ebx
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0xac0]
call fcn.10028780
mov esi, dword [ebp - 0x348]
mov ecx, edi
add dword [ebp - 0x338], 0x30
inc esi
mov dword [ebp - 0x348], esi
call fcn.1002f010
cmp esi, eax
mov eax, dword [ebp - 0x338]
jb 0x1002c970
push 0
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0xa48]
push eax
call fcn.10026a70
mov dword [ebp - 4], 0x238
lea ecx, [ebp - 0xe8]
push eax
call fcn.10017fb0
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0xa48]
call fcn.1000d760
cmp dword [ebp - 0xd8], 0
jne 0x1002ca41
xor bl, bl
jmp 0x1002cf78
lea eax, [ebp - 0x88]
push eax
call fcn.10027d00
mov dword [ebp - 4], 0x23e
lea ecx, [ebp - 0x178]
push str.Content_Type:_multipart_form_data_
call fcn.1000d810
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x178]
push 9
push str.boundary
call fcn.1001bc30
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
push dword [ebp - 0x78]
cmovae eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x178]
push eax
call fcn.1001bc30
push 2
push 0x1009f8d8
lea ecx, [ebp - 0x178]
call fcn.1001bc30
lea ecx, [ebp - 0x40]
call fcn.1000d8b0
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x40]
push 2
push 0x1009fc14
call fcn.1001bc30
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
push dword [ebp - 0x78]
cmovae eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x40]
push eax
call fcn.1001bc30
push 2
push 0x1009f8d8
lea ecx, [ebp - 0x40]
call fcn.1001bc30
push 0x1009fb48
lea ecx, [ebp - 0x910]
call fcn.1000d810
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x8f8]
push str.data_version
call fcn.1000d810
mov byte [ebp - 4], 0x42
lea eax, [ebp - 0x910]
push eax
lea eax, [ebp - 0x8f8]
push eax
lea eax, [ebp - 0xa60]
push eax
call fcn.10027c00
mov byte [ebp - 4], 0x43
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x1002cb43
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.1001bc30
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0xa60]
call fcn.1000d760
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0x8f8]
call fcn.1000d760
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x910]
call fcn.1000d760
push 2
push 0x1009fc14
lea ecx, [ebp - 0x40]
call fcn.1001bc30
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
push dword [ebp - 0x78]
cmovae eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x40]
push eax
call fcn.1001bc30
push 2
push 0x1009f8d8
lea ecx, [ebp - 0x40]
call fcn.1001bc30
push str.client_data
lea ecx, [ebp - 0x928]
call fcn.1000d810
mov byte [ebp - 4], 0x44
lea eax, [ebp - 0xe8]
push eax
lea eax, [ebp - 0x928]
push eax
lea eax, [ebp - 0xad8]
push eax
call fcn.10027c00
mov byte [ebp - 4], 0x45
mov ecx, eax
cmp dword [eax + 0x14], 0x10
jb 0x1002cbf3
mov ecx, dword [eax]
push dword [eax + 0x10]
push ecx
lea ecx, [ebp - 0x40]
call fcn.1001bc30
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xad8]
call fcn.1000d760
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x928]
call fcn.1000d760
push 2
push 0x1009fc14
lea ecx, [ebp - 0x40]
call fcn.1001bc30
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
push dword [ebp - 0x78]
cmovae eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x40]
push eax
call fcn.1001bc30
push 2
push 0x1009f8d8
lea ecx, [ebp - 0x40]
call fcn.1001bc30
push 0x4f
push str.Content_Disposition:_form_data__name_upload_file___filename_upload_file.data_
lea ecx, [ebp - 0x40]
call fcn.1001bc30
push 2
push 0x1009f8d8
lea ecx, [ebp - 0x40]
call fcn.1001bc30
push 0x26
push str.Content_Type:_application_octet_stream
lea ecx, [ebp - 0x40]
call fcn.1001bc30
push 2
push 0x1009f8d8
lea ecx, [ebp - 0x40]
call fcn.1001bc30
push 2
push 0x1009f8d8
lea ecx, [ebp - 0x40]
call fcn.1001bc30
xorps xmm0, xmm0
mov dword [ebp - 0x5c], 0
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x5c], 0
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
sub ecx, dword [ebp - 0x4c]
add eax, 0x400
add eax, ecx
lea ecx, [ebp - 0x64]
push eax
call fcn.1002f150
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x339]
sub ecx, dword [ebp - 0x4c]
push eax
xor eax, eax
mov byte [ebp - 0x339], 0
add ecx, dword [ebp - 0x30]
setb al
neg eax
or eax, ecx
lea ecx, [ebp - 0x64]
push eax
call fcn.10029030
push dword [ebp - 0x30]
mov esi, dword [ebp - 0x64]
lea ecx, [ebp - 0x40]
call fcn.1000d700
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
push ecx
push eax
mov eax, dword [ebp - 0x64]
add eax, dword [ebp - 0x30]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0x18
mov dword [ebp - 0x364], 0
mov dword [ebp - 0x360], 0
mov dword [ebp - 0x35c], 0
mov byte [ebp - 4], 0x47
lea eax, [ebp - 0x364]
push eax
lea ecx, [ebp - 0x4c]
call fcn.10028fc0
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x364]
call fcn.1000fc20
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
push 2
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x30], 0
push 0x1009f8d8
mov byte [eax], 0
call fcn.1001bc30
push 2
push 0x1009fc14
lea ecx, [ebp - 0x40]
call fcn.1001bc30
cmp dword [ebp - 0x74], 0x10
lea eax, [ebp - 0x88]
push dword [ebp - 0x78]
cmovae eax, dword [ebp - 0x88]
lea ecx, [ebp - 0x40]
push eax
call fcn.1001bc30
push 2
push 0x1009fc14
lea ecx, [ebp - 0x40]
call fcn.1001bc30
push 2
push 0x1009f8d8
lea ecx, [ebp - 0x40]
call fcn.1001bc30
mov esi, dword [ebp - 0x60]
lea ecx, [ebp - 0x64]
sub esi, dword [ebp - 0x64]
mov eax, dword [ebp - 0x30]
add eax, esi
push eax
call fcn.1000f9d0
push dword [ebp - 0x30]
add esi, dword [ebp - 0x64]
lea ecx, [ebp - 0x40]
call fcn.1000d700
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
cmp dword [ebp - 0x2c], 0x10
lea eax, [ebp - 0x40]
mov dword [ebp - 0x30], 0
lea edx, [ebp - 0x178]
cmovae eax, dword [ebp - 0x40]
lea ecx, [ebp - 0x1d8]
push 0xfde9
mov byte [eax], 0
lea eax, [ebp - 0x100]
cmp dword [ebp - 0xec], 0x10
mov dword [ebp - 0xf0], 0
cmovae eax, dword [ebp - 0x100]
mov byte [eax], 0
call fcn.10041210
add esp, 0x10
mov byte [ebp - 4], 0x48
mov edi, dword [ebp - 0x60]
lea ecx, [ebp - 0x1d8]
mov ebx, dword [ebp - 0x64]
sub edi, ebx
call fcn.1001b1d0
mov ecx, dword [ebp - 0x344]
mov esi, eax
call fcn.1001b1d0
mov byte [ebp - 4], 0x49
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x380], 0
mov byte [ebp - 4], 0x4c
xor ecx, ecx
mov dword [ebp - 0x384], 0
mov dword [ebp - 0x380], 7
mov word [ebp - 0x394], cx
mov byte [ebp - 4], 0x4d
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [ebp - 0x100]
push ecx
push ecx
lea ecx, [ebp - 0x394]
push ecx
mov ecx, dword [ebp - 0x358]
push 0x4480040
push edi
push ebx
push esi
push eax
call fcn.10038dc0
mov bl, al
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x394]
call fcn.10005a50
mov byte [ebp - 4], 0x48
mov byte [ebp - 4], 0x48
mov ecx, dword [ebp - 0x34c]
test bl, bl
jne 0x1002cf18
mov dword [ecx + 0x80], 0x3ea
jmp 0x1002cf30
lea eax, [ebp - 0x100]
mov dword [ecx + 0x80], 0
push eax
call fcn.100272f0
mov bl, al
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0x1d8]
call fcn.10004fa0
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x64]
call fcn.1000fc20
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x40]
call fcn.1000d760
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x178]
call fcn.1000d760
mov dword [ebp - 4], 0x19b
lea ecx, [ebp - 0x88]
call fcn.1000d760
mov byte [ebp - 4], 0x95
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x1002cfed
mov edx, dword [ebp - 0x18]
push ecx
call fcn.1002ea70
mov ecx, dword [ebp - 0x14]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x1c]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 4
cmp ecx, 0x1000
jb 0x1002cfce
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002cfce
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.1008270f
add esp, 8
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], 0
mov byte [ebp - 4], 0x88
lea ecx, [ebp - 0x1a8]
call fcn.10004fa0
mov byte [ebp - 4], 0x87
lea ecx, [ebp - 0x118]
call fcn.1000d760
mov byte [ebp - 4], 0x86
lea ecx, [ebp - 0x1f0]
call fcn.1000d760
mov byte [ebp - 4], 0x85
lea ecx, [ebp - 0x208]
call fcn.1000d760
mov byte [ebp - 4], 0x5f
lea ecx, [ebp - 0x1c0]
call fcn.1000d760
jmp 0x1002d03c
xor bl, bl
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x130]
call fcn.10004fa0
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0x160]
call fcn.10004fa0
mov byte [ebp - 4], 0x19
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x1002d0cf
mov edx, dword [ebp - 0x54]
push ecx
call fcn.1002ea70
mov ecx, dword [ebp - 0x50]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x58]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 4
cmp ecx, 0x1000
jb 0x1002d0b0
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002d0b0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.1008270f
add esp, 8
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 0xff
lea ecx, [ebp - 0x100]
call fcn.1000d760
mov byte [ebp - 4], 0xe9
lea ecx, [ebp - 0xd0]
call fcn.1000d760
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0xe8]
call fcn.1000d760
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0xb8]
call fcn.10004fa0
mov dword [ebp - 4], 0x35
lea eax, [ebp - 0xa0]
mov dword [ebp - 0x344], eax
mov dword [ebp - 4], 0x258
mov ecx, eax
call fcn.10005a50
mov dword [ebp - 4], 0x35
mov dword [ebp - 4], 0x23
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x1002d1c1
mov edx, dword [ebp - 0x24]
push ecx
call fcn.1002ea70
mov ecx, dword [ebp - 0x20]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x28]
add esp, 4
sub ecx, esi
imul ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov eax, esi
shl ecx, 4
cmp ecx, 0x1000
jb 0x1002d18f
mov esi, dword [esi - 4]
add ecx, 0x23
sub eax, esi
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1002d18f
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push esi
call fcn.1008270f
add esp, 8
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x20], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.1000fc20
jmp 0x1002ad3c
xor bl, bl
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x4c]
call fcn.1000fc20
jmp 0x1002ad3c
mov dword [ebx + 0x80], 0x3eb
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100826ce
mov esp, ebp
pop ebp
ret 0xc