Function at 0x10029be0
Capabilities:
Get common file path
Get disk information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x754
push esi
mov eax, dword [0x1004a178]
mov dword [ebp - 0x2d0], eax
mov byte [ebp - 4], 0x44
mov byte [ebp - 6], 0x58
mov byte [ebp - 2], 0x6b
mov ecx, 0x98f1
mov word [ebp - 0x10], cx
mov edx, 0x72
mov word [ebp - 0x1c], dx
mov dword [ebp - 0x58], 0xb3f6
mov eax, 0x7df3a
mov dword [ebp - 0x40], 0xe6c1ab62
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1004a0c8]
mov dword [ebp - 0x5c], ecx
mov byte [ebp - 5], 0xdc
mov dword [ebp - 0x30], 0x2e3ec074
xor edx, edx
mov dword [ebp - 0x48], 0x2b25
mov dword [ebp - 0x44], edx
mov eax, dword [0x1004a15c]
mov dword [ebp - 0x38], eax
mov byte [ebp - 7], 0x7f
mov ecx, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov dword [ebp - 0x2d4], edx
mov word [ebp - 0x18], cx
mov eax, dword [0x1004a14c]
mov byte [ebp - 3], al
mov ecx, dword [0x1004a148]
mov word [ebp - 0xc], cx
movsx edx, byte [0x1004a017]
mov dword [ebp - 0x20], edx
mov eax, 0xb2
mov word [ebp - 0x14], ax
xor ecx, ecx
mov dword [ebp - 0x50], 0xbc
mov dword [ebp - 0x4c], ecx
xor edx, edx
mov dword [ebp - 0x28], 0xeae74c66
mov dword [ebp - 0x24], edx
mov al, byte [0x1004a144]
mov byte [ebp - 1], al
mov dword [ebp - 0x2c], 0x22
mov ecx, dword [0x1004a178]
xor edx, edx
mov dword [ebp - 0x324], ecx
mov dword [ebp - 0x320], edx
mov dword [ebp - 0x2d8], 0xf4ef9d6f
mov byte [ebp - 0x61], 0x40
movzx eax, byte [0x1004a0bb]
cdq
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0x328], edx
mov eax, dword [0x1004a0d8]
mov ecx, dword [0x1004a0dc]
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x2e0], eax
mov byte [ebp - 0x6d], 0x5f
mov edx, dword [0x1004a188]
mov eax, dword [0x1004a18c]
mov dword [ebp - 0x2e4], eax
mov dword [ebp - 0x2e8], edx
mov ecx, dword [0x1004a140]
mov dword [ebp - 0x2ec], ecx
mov edx, dword [0x1004a118]
mov dword [ebp - 0x2f0], edx
mov al, byte [0x1004a128]
mov byte [ebp - 0x62], al
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0x334], ecx
mov dword [ebp - 0x330], edx
movsx ax, byte [0x1004a03f]
mov word [ebp - 0x19c], ax
xor ecx, ecx
mov dword [ebp - 0x33c], 0x6efc994c
mov dword [ebp - 0x338], ecx
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
mov dword [ebp - 0x2f4], eax
mov byte [ebp - 0x63], dl
movzx cx, byte [0x1004a0bc]
mov word [ebp - 0x1a0], cx
mov edx, dword [0x1004a190]
xor eax, eax
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x340], eax
xor ecx, ecx
mov dword [0x1004a170], 0x88151b5
mov dword [0x1004a174], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0
push 0x14d1
push eax
push edx
call fcn.1002e960
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov eax, dword [ebp - 0x44]
sbb eax, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x74], ecx
movzx eax, byte [0x1004a0bb]
cdq
sub eax, 0x725ba6ba
mov dword [ebp - 0x38], eax
movsx eax, byte [ebp - 1]
cdq
sub eax, 0x50181e1c
mov byte [0x1004a0bb], al
mov edx, dword [ebp - 0x74]
add edx, 0x151a
mov dword [ebp - 0x2f8], edx
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
add ecx, eax
adc esi, edx
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
add edx, ecx
adc eax, esi
mov dword [0x1004a130], edx
mov dword [0x1004a134], eax
mov ecx, dword [ebp - 0x74]
add ecx, 0x83a8
mov dword [ebp - 0x134], ecx
mov dl, byte [0x1004ac78]
mov byte [0x1004a06b], dl
movsx eax, byte [0x1004a092]
test eax, eax
je 0x10029e87
mov ecx, dword [0x1004a17c]
xor edx, edx
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x140], edx
jmp 0x10029e9e
mov eax, dword [0x1004a0d8]
mov ecx, dword [0x1004a0dc]
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x144]
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x74]
add eax, 0xf4
mov dword [ebp - 0x1a4], eax
mov ecx, dword [ebp - 0x134]
mov edx, dword [ebp - 0x134]
xor edx, dword [ebp - 0x1a4]
lea eax, [ecx + edx + 0xf3b4]
xor eax, 0x1f8c3
mov dword [ebp - 0x1ac], eax
mov cl, byte [ebp - 3]
add cl, 1
mov byte [ebp - 3], cl
mov edx, dword [0x1004a17c]
add edx, dword [ebp - 0x30]
mov eax, dword [0x1004a17c]
and eax, edx
mov dword [0x1004a17c], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x78], ecx
mov edx, 3
mov word [ebp - 0x1c], dx
mov dword [ebp - 0x20], 0x53
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 3
ja case.default.0x10029f29
mov ecx, dword [ebp - 0x138]
jmp dword [ecx*4 + 0x1002bd50]
movsx edx, byte [0x1004a03e]
sub edx, dword [ebp - 0x30]
mov byte [0x1004a03e], dl
movsx eax, byte [0x1004a093]
add eax, dword [0x1004a0c8]
mov dword [0x1004a0c8], eax
jmp case.default.0x10029f29
movsx ecx, byte [0x1004a03f]
shl ecx, 2
mov dword [0x1004a0c8], ecx
jmp case.default.0x10029f29
xor edx, edx
mov dword [0x1004a118], 0x29b23f18
mov dword [0x1004a11c], edx
jmp case.default.0x10029f29
xor eax, eax
mov dword [0x1004a0f8], 0xa4
mov dword [0x1004a0fc], eax
movzx ecx, word [ebp - 0x10]
add ecx, 0x1878
mov word [0x1004a0f0], cx
mov edx, dword [ebp - 0x78]
add edx, 0xb7c9
mov dword [ebp - 0x2fc], edx
mov dword [0x1004a140], 4
mov eax, dword [0x1004a17c]
add eax, 0x9e
movzx ecx, byte [ebp - 7]
and ecx, eax
mov byte [ebp - 7], cl
mov edx, dword [0x1004a140]
mov dword [ebp - 0x9c], edx
cmp dword [ebp - 0x9c], 4
ja case.default.0x10029fe7
mov eax, dword [ebp - 0x9c]
jmp dword [eax*4 + 0x1002bd60]
movzx ecx, word [ebp - 0xc]
movsx edx, byte [ebp - 1]
sub ecx, edx
movzx eax, word [ebp - 0xc]
sub eax, ecx
mov word [ebp - 0xc], ax
mov ecx, dword [ebp - 0x2c]
xor edx, edx
sub ecx, 0x8ad0fa6
sbb edx, 0xd1780
not ecx
not edx
mov dword [0x1004a130], ecx
mov dword [0x1004a134], edx
jmp case.default.0x10029fe7
movsx eax, byte [0x1004a092]
mov ecx, dword [0x1004a104]
sub ecx, eax
mov edx, dword [0x1004a104]
sub edx, ecx
mov dword [0x1004a104], edx
mov eax, dword [str.J64_]
sub eax, 0x36be9858
mov dword [0x1004a178], eax
jmp case.default.0x10029fe7
imul ecx, dword [0x1004a144], 0x18bf
mov dword [ebp - 0x38], ecx
mov dl, byte [0x1004a0ba]
sub dl, 1
mov byte [0x1004a0ba], dl
jmp case.default.0x10029fe7
push 0xa6be5
push 0x951dd8f4
mov eax, dword [0x1004a10c]
push eax
mov ecx, dword [0x1004a108]
push ecx
call fcn.1002e960
mov byte [0x1004a03e], al
mov edx, dword [0x1004a0c8]
sub edx, 0x55263964
xor eax, eax
mov dword [0x1004a130], edx
mov dword [0x1004a134], eax
jmp case.default.0x10029fe7
mov dword [ebp - 0x2c], 0x8c9b84df
mov ecx, dword [ebp - 0x78]
add ecx, 0xe8
mov dword [ebp - 0x300], ecx
movzx eax, word [0x1004a150]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1e0], esi
mov edx, dword [ebp - 0x1d8]
cmp edx, dword [ebp - 0x1e0]
jg 0x1002a131
jl 0x1002a10a
mov eax, dword [ebp - 0x1dc]
cmp eax, dword [ebp - 0x1e4]
ja 0x1002a131
cmp dword [0x1004a144], 0
je 0x1002a131
mov ecx, 0x93b97
mov dword [ebp - 0x48], 0x67ad310b
mov dword [ebp - 0x44], ecx
mov edx, dword [0x1004a118]
add edx, 0x3299f146
mov byte [ebp - 3], dl
mov eax, dword [ebp - 0x78]
add eax, 0xe9
mov dword [ebp - 0x1a8], eax
mov ecx, dword [ebp - 0x48]
or ecx, dword [ebp - 0x44]
je 0x1002a15b
mov ecx, dword [ebp - 0x50]
sub ecx, 0xb382
movsx eax, word [ebp - 0x18]
cdq
sub eax, ecx
mov word [ebp - 0x18], ax
xor edx, edx
mov dword [ebp - 0x40], 0xb4989082
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x1a8]
add eax, 0xc796
xor eax, 0xc813
mov dword [ebp - 0x1bc], eax
cmp dword [ebp - 0x20], 0
je 0x1002a2a9
push 4
push 1
movzx ecx, word [ebp - 0xc]
push ecx
movzx edx, word [0x1004a128]
push edx
push 0
push 0
movzx eax, word [ebp - 0x28]
push eax
call fcn.10024c40
add esp, 0x1c
mov byte [ebp - 6], al
movzx ecx, byte [0x1004a06b]
test ecx, ecx
jne 0x1002a1cb
xor edx, edx
mov dword [ebp - 0x14c], 1
mov dword [ebp - 0x148], edx
jmp 0x1002a1d6
xorps xmm0, xmm0
movlpd qword [ebp - 0x14c], xmm0
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x14c]
jne 0x1002a1ec
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x148]
je 0x1002a200
xor edx, edx
mov dword [ebp - 0x154], 1
mov dword [ebp - 0x150], edx
jmp 0x1002a20b
xorps xmm0, xmm0
movlpd qword [ebp - 0x154], xmm0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
add eax, dword [ebp - 0x154]
adc ecx, dword [ebp - 0x150]
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x1e8], ecx
cmp dword [ebp - 0x1e8], 0
jl 0x1002a24c
jg 0x1002a240
cmp dword [ebp - 0x1ec], 0x96
jbe 0x1002a24c
mov dword [ebp - 0xa0], 1
jmp 0x1002a256
mov dword [ebp - 0xa0], 0
mov edx, dword [ebp - 0xa0]
not edx
test edx, edx
je 0x1002a292
xor eax, eax
mov dword [0x1004a180], 0x40
mov dword [0x1004a184], eax
xor ecx, ecx
mov edx, dword [0x1004a168]
mov eax, dword [0x1004a16c]
add edx, dword [ebp - 0x38]
adc eax, ecx
mov dword [0x1004a168], edx
mov dword [0x1004a16c], eax
jmp 0x1002a2a4
mov ecx, dword [0x1004a14c]
add ecx, 0x54e0d0d4
mov byte [0x1004a092], cl
jmp 0x1002a344
cmp dword [0x1004a158], 0
je 0x1002a2c4
cmp dword [ebp - 0x58], 0
jne 0x1002a2c4
mov dword [ebp - 0xa8], 1
jmp 0x1002a2ce
mov dword [ebp - 0xa8], 0
movsx edx, word [ebp - 0x14]
test edx, edx
jne 0x1002a2e2
mov dword [ebp - 0xa4], 1
jmp 0x1002a2ec
mov dword [ebp - 0xa4], 0
mov eax, dword [0x1004a158]
cmp eax, dword [ebp - 0xa4]
jne 0x1002a305
mov dword [ebp - 0xac], 1
jmp 0x1002a30f
mov dword [ebp - 0xac], 0
mov ecx, dword [ebp - 0xa8]
sub ecx, dword [ebp - 0xac]
je 0x1002a344
movzx edx, word [ebp - 0x10]
sub edx, 0xfc
movsx eax, word [ebp - 0x14]
sub eax, edx
mov word [ebp - 0x14], ax
movsx ecx, byte [0x1004a092]
imul edx, ecx, 0x3899
imul eax, edx, 0xffffffff
mov byte [ebp - 2], al
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x7c], ecx
movzx edx, byte [0x1004a0bb]
imul edx, dword [0x1004a110]
mov byte [0x1004a0bb], dl
mov eax, dword [ebp - 0x7c]
add eax, 0x1c8
mov dword [ebp - 0xbc], eax
movzx ecx, byte [ebp - 7]
test ecx, ecx
jne 0x1002a383
mov dword [ebp - 0xb0], 1
jmp 0x1002a38d
mov dword [ebp - 0xb0], 0
movzx edx, byte [ebp - 4]
test edx, edx
jne 0x1002a3a9
xor eax, eax
mov dword [ebp - 0x15c], 1
mov dword [ebp - 0x158], eax
jmp 0x1002a3b4
xorps xmm0, xmm0
movlpd qword [ebp - 0x15c], xmm0
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0xb0]
mov esi, ecx
mov edx, dword [ebp - 0x158]
push edx
mov eax, dword [ebp - 0x15c]
push eax
mov ecx, dword [0x1004a174]
push ecx
mov edx, dword [0x1004a170]
push edx
call fcn.1002e960
sub esi, eax
mov eax, 0xffff7e33
sub eax, esi
mov byte [ebp - 5], al
mov ecx, dword [ebp - 0x7c]
add ecx, 0x75
mov dword [ebp - 0x1b0], ecx
push 0x81
push 0
push 0x35
movzx edx, word [ebp - 0x30]
push edx
push 0x68
mov eax, dword [0x1004a0f8]
mov ecx, dword [0x1004a0fc]
mov dword [ebp - 0x304], ecx
movzx edx, ax
push edx
push 0x22
call fcn.10024c40
add esp, 0x1c
mov word [ebp - 0xc], ax
movzx eax, word [ebp - 0xc]
test eax, eax
je 0x1002a43f
mov dword [ebp - 0xb4], 1
jmp 0x1002a449
mov dword [ebp - 0xb4], 0
movzx ecx, word [ebp - 0xc]
cmp ecx, 0xa
je 0x1002a45e
mov dword [ebp - 0xb8], 1
jmp 0x1002a468
mov dword [ebp - 0xb8], 0
mov edx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0xb8]
jle 0x1002a47a
mov byte [ebp - 6], 0xca
mov eax, dword [ebp - 0x1ac]
add eax, dword [ebp - 0x7c]
mov dword [ebp - 0xc0], eax
xor ecx, ecx
mov dword [0x1004a0f8], 0xbfa1
mov dword [0x1004a0fc], ecx
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
movzx eax, word [ebp - 0x10]
add eax, 0xbfa1
cdq
mov dword [ebp - 0x1f4], ecx
mov dword [ebp - 0x1f0], esi
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x1f8], edx
mov edx, dword [ebp - 0x1f4]
cmp edx, dword [ebp - 0x1fc]
jne 0x1002a504
mov eax, dword [ebp - 0x1f0]
cmp eax, dword [ebp - 0x1f8]
jne 0x1002a504
movzx ecx, byte [ebp - 4]
add ecx, 0xbc
cmp dword [0x1004a17c], ecx
jne 0x1002a504
jmp 0x1002a504
xor eax, eax
mov dword [0x1004a0f8], 0xbfa1
mov dword [0x1004a0fc], eax
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
xor ecx, 0x43f0
xor edx, 0
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x1b0]
and eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
sub ecx, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xc0]
or edx, ecx
cmp eax, edx
je 0x1002b082
cmp dword [ebp - 0x38], 0
jne 0x1002a56a
mov dword [ebp - 0xc4], 1
jmp 0x1002a574
mov dword [ebp - 0xc4], 0
movzx eax, word [0x1004a0cc]
add eax, dword [ebp - 0xc4]
jne 0x1002a597
xor ecx, ecx
mov dword [ebp - 0x204], 1
mov dword [ebp - 0x200], ecx
jmp 0x1002a5a2
xorps xmm0, xmm0
movlpd qword [ebp - 0x204], xmm0
cmp dword [0x1004a14c], 0
jne 0x1002a5b7
mov dword [ebp - 0xc8], 1
jmp 0x1002a5c1
mov dword [ebp - 0xc8], 0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x308], eax
sub edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x204]
sub ecx, edx
movsx eax, word [ebp - 0x14]
xor eax, dword [ebp - 0xc8]
cdq
mov edx, dword [ebp - 0x38]
add edx, dword [str.J64_]
sub eax, edx
sub ecx, eax
mov word [0x1004a0cc], cx
movzx eax, byte [0x1004a0bc]
movsx ecx, byte [ebp - 1]
sub eax, ecx
movzx edx, byte [0x1004a0bc]
sub edx, eax
mov byte [0x1004a0bc], dl
push 6
call fcn.10024660
add esp, 4
mov word [ebp - 0x14], ax
movsx eax, word [ebp - 0x14]
test eax, eax
jle 0x1002a635
mov dword [ebp - 0xcc], 1
jmp 0x1002a63f
mov dword [ebp - 0xcc], 0
movsx ecx, word [ebp - 0x14]
cmp ecx, 0x4d
jle 0x1002a654
mov dword [ebp - 0xd0], 1
jmp 0x1002a65e
mov dword [ebp - 0xd0], 0
mov edx, dword [ebp - 0xcc]
cmp edx, dword [ebp - 0xd0]
jg 0x1002a686
push 0x104
lea eax, [ebp - 0x448]
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
mov byte [ebp - 3], al
jmp 0x1002a7e0
cmp dword [0x1004a148], 0
jne 0x1002a6a3
xor ecx, ecx
mov dword [ebp - 0x164], 1
mov dword [ebp - 0x160], ecx
jmp 0x1002a6ae
xorps xmm0, xmm0
movlpd qword [ebp - 0x164], xmm0
mov edx, dword [0x1004a0e8]
cmp edx, dword [ebp - 0x164]
jne 0x1002a6fb
mov eax, dword [0x1004a0ec]
cmp eax, dword [ebp - 0x160]
jne 0x1002a6fb
movzx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x1002a6dd
mov dword [ebp - 0xd4], 1
jmp 0x1002a6e7
mov dword [ebp - 0xd4], 0
mov edx, 0x3572
sub edx, dword [ebp - 0xd4]
mov word [ebp - 0xc], dx
jmp 0x1002a7e0
movsx eax, word [0x1004a100]
cdq
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
cmp eax, dword [0x1004a13c]
jg 0x1002a741
jl 0x1002a72d
mov ecx, dword [ebp - 0x20c]
cmp ecx, dword [str.J64_]
jae 0x1002a741
xor edx, edx
mov dword [ebp - 0x16c], 1
mov dword [ebp - 0x168], edx
jmp 0x1002a74c
xorps xmm0, xmm0
movlpd qword [ebp - 0x16c], xmm0
movzx eax, word [ebp - 0xc]
not eax
cdq
mov ecx, dword [0x1004a18c]
sub eax, dword [0x1004a188]
sbb edx, ecx
mov dword [ebp - 0x214], eax
mov dword [ebp - 0x210], edx
mov edx, dword [ebp - 0x210]
cmp edx, dword [ebp - 0x168]
ja 0x1002a7e0
jb 0x1002a78b
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0x16c]
jae 0x1002a7e0
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1004a180]
mov esi, dword [0x1004a184]
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], edx
mov edx, dword [ebp - 0x21c]
or edx, dword [ebp - 0x218]
jne 0x1002a7cb
mov dword [ebp - 0xd8], 1
jmp 0x1002a7d5
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd8]
mov dword [0x1004a144], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x90], ecx
movzx edx, word [ebp - 0x10]
cmp dword [ebp - 0x38], edx
jne 0x1002a8dc
push 0xc
call fcn.10024660
add esp, 4
mov byte [ebp - 4], al
movzx eax, byte [ebp - 4]
test eax, eax
je 0x1002a88c
mov ecx, dword [ebp - 0x2c]
cmp dword [ebp - 0x2c], ecx
jb 0x1002a822
mov dword [ebp - 0xdc], 1
jmp 0x1002a82c
mov dword [ebp - 0xdc], 0
cmp dword [ebp - 0x2c], 0x2c
jb 0x1002a83e
mov dword [ebp - 0xe0], 1
jmp 0x1002a848
mov dword [ebp - 0xe0], 0
mov edx, dword [ebp - 0xdc]
cmp edx, dword [ebp - 0xe0]
jne 0x1002a872
movzx eax, byte [ebp - 4]
mov ecx, dword [0x1004a154]
add ecx, eax
mov edx, dword [0x1004a154]
and edx, ecx
mov dword [0x1004a154], edx
jmp 0x1002a88a
mov eax, dword [0x1004a14c]
cmp dword [ebp - 0x30], eax
je 0x1002a88a
movsx ecx, word [ebp - 0x18]
and ecx, 0xae082d09
mov word [ebp - 0x14], cx
jmp 0x1002a8dc
movsx edx, word [ebp - 0x18]
cmp dword [0x1004a154], edx
jae 0x1002a8dc
mov eax, dword [str.J64_]
or eax, dword [0x1004a13c]
je 0x1002a8bf
mov ecx, dword [0x1004a0d0]
mov edx, dword [0x1004a0d4]
mov dword [ebp - 0x174], ecx
mov dword [ebp - 0x170], edx
jmp 0x1002a8d0
mov eax, dword [ebp - 0x58]
xor ecx, ecx
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], ecx
mov edx, dword [ebp - 0x174]
mov dword [0x1004a140], edx
mov eax, dword [ebp - 0x90]
add eax, 0xea3c
mov dword [ebp - 0x30c], eax
push 0x1003b414
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x90]
add edx, 0xc4
mov dword [ebp - 0xe4], edx
lea eax, [ebp - 0x54c]
push eax
push 0
push 0x1003b418
push 0x1003b41c
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
xor ecx, ecx
mov dword [0x1004a0c0], eax
mov dword [0x1004a0c4], ecx
mov edx, dword [ebp - 0x90]
add edx, 0x10c
mov dword [ebp - 0x310], edx
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x24]
jne 0x1002a966
xor ecx, ecx
mov dword [ebp - 0x17c], 1
mov dword [ebp - 0x178], ecx
jmp 0x1002a971
xorps xmm0, xmm0
movlpd qword [ebp - 0x17c], xmm0
mov edx, dword [0x1004a160]
mov eax, dword [0x1004a164]
mov dword [ebp - 0x224], edx
mov dword [ebp - 0x220], eax
mov ecx, dword [ebp - 0x220]
cmp ecx, dword [ebp - 0x178]
ja 0x1002a9c1
jb 0x1002a9a6
mov edx, dword [ebp - 0x224]
cmp edx, dword [ebp - 0x17c]
jae 0x1002a9c1
mov eax, dword [0x1004a110]
add eax, dword [0x1004a0c8]
mov ecx, dword [0x1004a110]
sub ecx, eax
mov dword [0x1004a110], ecx
jmp 0x1002a9e2
movsx eax, byte [ebp - 1]
cdq
add eax, 0x25663298
mov dword [ebp - 0x38], eax
movsx eax, byte [ebp - 2]
cdq
mov ecx, eax
xor ecx, dword [ebp - 0x28]
movsx eax, byte [ebp - 2]
cdq
add eax, ecx
mov byte [ebp - 2], al
mov edx, dword [ebp - 0xe4]
xor edx, dword [ebp - 0xe4]
add edx, 0x73
mov dword [ebp - 0x1b4], edx
call fcn.1001a9d0
movzx eax, al
test eax, eax
jne 0x1002b082
mov byte [ebp - 5], 1
movzx ecx, byte [ebp - 3]
and ecx, dword [ebp - 0x30]
mov byte [ebp - 3], cl
mov dl, byte [ebp - 5]
mov byte [ebp - 0xe8], dl
cmp byte [ebp - 0xe8], 0
je 0x1002aa35
cmp byte [ebp - 0xe8], 1
je 0x1002aa6c
jmp 0x1002aad1
mov eax, 1
imul ecx, eax, 0x3fe6
mov dl, byte [0x1004a124]
mov byte [ecx + 0x1004acf0], dl
movzx eax, byte [0x1004a0ba]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
or ecx, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
jmp 0x1002aad1
mov ecx, dword [ebp - 0x30]
add ecx, 0x442a3516
xor edx, edx
mov eax, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
add eax, ecx
adc esi, edx
mov dword [0x1004a0f8], eax
mov dword [0x1004a0fc], esi
cmp dword [0x1004a0c8], 0
je 0x1002aab0
movzx eax, word [0x1004a0f0]
cdq
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x180], edx
jmp 0x1002aac8
mov ecx, dword [0x1004a108]
mov edx, dword [0x1004a10c]
mov dword [ebp - 0x184], ecx
mov dword [ebp - 0x180], edx
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
movsx eax, byte [0x1004a092]
cdq
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x228], esi
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], edx
mov edx, dword [ebp - 0x228]
cmp edx, dword [ebp - 0x230]
jg 0x1002abe7
jl 0x1002ab1d
mov eax, dword [ebp - 0x22c]
cmp eax, dword [ebp - 0x234]
ja 0x1002abe7
movzx eax, byte [0x1004a056]
cdq
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x238], edx
mov ecx, dword [0x1004a13c]
cmp ecx, dword [ebp - 0x238]
jl 0x1002ab5b
jg 0x1002ab4f
mov edx, dword [str.J64_]
cmp edx, dword [ebp - 0x23c]
jbe 0x1002ab5b
mov dword [ebp - 0xec], 1
jmp 0x1002ab65
mov dword [ebp - 0xec], 0
cmp dword [0x1004a13c], 0
jl 0x1002ab85
jg 0x1002ab79
cmp dword [str.J64_], 0x23
jbe 0x1002ab85
mov dword [ebp - 0xf0], 1
jmp 0x1002ab8f
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0xf0]
je 0x1002abb3
movsx ecx, word [0x1004a120]
mov edx, dword [ebp - 0x20]
sub edx, ecx
mov eax, dword [ebp - 0x20]
sub eax, edx
mov dword [ebp - 0x20], eax
jmp 0x1002abe5
cmp dword [ebp - 0x20], 0
je 0x1002abe5
movzx ecx, word [ebp - 0xc]
test ecx, ecx
je 0x1002abe5
xor edx, edx
mov dword [0x1004a0f8], 0xe664
mov dword [0x1004a0fc], edx
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x24]
mov cl, 4
call fcn.1002e9c0
mov dword [0x1004a15c], eax
jmp 0x1002ac51
cmp dword [0x1004a148], 0
jne 0x1002ac06
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
sub eax, 0x6e6a570a
sbb ecx, 0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
jmp 0x1002ac51
cmp dword [ebp - 0x5c], 0
je 0x1002ac31
mov eax, dword [ebp - 0x30]
not eax
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
or ecx, eax
or esi, edx
mov dword [0x1004a160], ecx
mov dword [0x1004a164], esi
mov dword [ebp - 0x5c], 0xd554
jmp 0x1002ac51
cmp dword [0x1004a128], 0
je 0x1002ac51
mov edx, dword [ebp - 0x5c]
add edx, 0x9e
mov word [ebp - 0x18], dx
mov eax, dword [0x1004a17c]
mov dword [0x1004a158], eax
mov ecx, dword [0x1004ac78]
mov dword [ebp - 0x80], ecx
movzx edx, word [ebp - 0xc]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1b4]
add eax, dword [ebp - 0x80]
mov dword [ebp - 0x60], eax
mov ecx, dword [0x1004a118]
xor ecx, 0x5c
mov edx, dword [0x1004a154]
and edx, ecx
mov dword [0x1004a154], edx
mov eax, dword [ebp - 0x80]
add eax, 0x242
mov dword [ebp - 0x108], eax
movsx ecx, word [0x1004a100]
test ecx, ecx
je 0x1002ae4d
push 0
push 0
push 0
push 0
push 0
push 2
push 0
push 0
push 0
push 0
call fcn.100243a0
add esp, 0x28
mov dword [0x1004a158], eax
movzx edx, word [ebp - 0x10]
test edx, edx
jne 0x1002ace1
movzx eax, byte [ebp - 3]
not eax
cmp dword [ebp - 0x58], eax
jne 0x1002ace1
mov dword [ebp - 0xf8], 0
jmp 0x1002aceb
mov dword [ebp - 0xf8], 1
mov ecx, dword [0x1004a160]
mov esi, dword [0x1004a164]
movsx eax, byte [ebp - 2]
cdq
mov dword [ebp - 0x244], ecx
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], edx
mov edx, dword [ebp - 0x240]
cmp edx, dword [ebp - 0x248]
ja 0x1002ad3e
jb 0x1002ad32
mov eax, dword [ebp - 0x244]
cmp eax, dword [ebp - 0x24c]
ja 0x1002ad3e
mov dword [ebp - 0xf4], 1
jmp 0x1002ad48
mov dword [ebp - 0xf4], 0
movzx ecx, byte [ebp - 4]
not ecx
movzx edx, byte [ebp - 3]
add ecx, edx
cmp ecx, dword [ebp - 0xf4]
jg 0x1002ad68
mov dword [ebp - 0xfc], 1
jmp 0x1002ad72
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0xfc]
jne 0x1002adbe
mov ecx, dword [ebp - 0x5c]
add ecx, 0x41f81e29
mov byte [ebp - 3], cl
movsx edx, byte [ebp - 6]
test edx, edx
je 0x1002ada1
mov eax, dword [0x1004a148]
mov dword [ebp - 0x100], eax
jmp 0x1002adae
movsx ecx, byte [0x1004a017]
mov dword [ebp - 0x100], ecx
mov dx, word [ebp - 0x100]
mov word [ebp - 0xc], dx
jmp 0x1002ae4d
cmp dword [0x1004a158], 0
je 0x1002ade3
push 0
push 0x76
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.1002e960
mov byte [0x1004a017], al
mov byte [ebp - 2], 0xad
jmp 0x1002ae4d
movsx edx, byte [0x1004a093]
test edx, edx
je 0x1002ae4d
movzx eax, byte [0x1004a06b]
cdq
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x254], ecx
mov dword [ebp - 0x250], esi
mov edx, dword [ebp - 0x254]
or edx, dword [ebp - 0x250]
jne 0x1002ae2c
mov dword [ebp - 0x104], 1
jmp 0x1002ae36
mov dword [ebp - 0x104], 0
movzx eax, byte [ebp - 7]
not eax
imul eax, dword [0x1004a110]
xor eax, dword [ebp - 0x104]
mov word [ebp - 0x10], ax
mov ecx, dword [ebp - 0x80]
add ecx, 0x3cb
mov dword [ebp - 0x314], ecx
mov byte [0x1004a03e], 0x84
movzx edx, byte [0x1004a056]
movsx eax, byte [0x1004a03e]
movsx ecx, byte [ebp - 6]
add eax, ecx
cmp edx, eax
jne 0x1002aeac
movsx eax, word [ebp - 0x14]
cdq
add eax, 0xec981480
mov dword [ebp - 0x2c], eax
movsx edx, byte [0x1004a03e]
movzx eax, byte [ebp - 4]
add eax, 0xb7aa
cmp edx, eax
jne 0x1002aeac
jmp 0x1002ae5c
mov eax, dword [ebp - 0x60]
xor eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x108]
sub eax, ecx
mov edx, dword [ebp - 0x60]
sub edx, dword [ebp - 0x108]
cmp eax, edx
je 0x1002b082
movzx eax, byte [0x1004a056]
movsx ecx, word [ebp - 0x14]
cmp eax, ecx
jge 0x1002aee9
mov dword [ebp - 0x10c], 1
jmp 0x1002aef3
mov dword [ebp - 0x10c], 0
movzx edx, byte [0x1004a056]
cmp edx, 0x4c
jge 0x1002af0b
mov dword [ebp - 0x13c], 1
jmp 0x1002af15
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x10c]
cmp eax, dword [ebp - 0x13c]
jne 0x1002afb1
movzx ecx, byte [ebp - 4]
cmp ecx, dword [ebp - 0x38]
jne 0x1002af8a
mov dx, word [0x1004a124]
sub dx, 1
mov word [0x1004a124], dx
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x1004a0ec]
push ecx
mov ecx, dword [0x1004a0e8]
push ecx
push edx
push eax
call fcn.1002e960
mov dword [ebp - 0x25c], eax
mov dword [ebp - 0x258], edx
mov edx, dword [ebp - 0x25c]
or edx, dword [ebp - 0x258]
jne 0x1002af7c
mov byte [ebp - 0x31], 1
jmp 0x1002af80
mov byte [ebp - 0x31], 0
mov al, byte [ebp - 0x31]
mov byte [0x1004a0bc], al
jmp 0x1002afb1
movsx ecx, byte [ebp - 2]
test ecx, ecx
jne 0x1002af9e
mov dword [ebp - 0x114], 1
jmp 0x1002afa8
mov dword [ebp - 0x114], 0
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x20], edx
movsx eax, byte [0x1004a017]
movsx ecx, byte [0x1004a093]
cmp eax, ecx
jg 0x1002afcf
mov dword [ebp - 0x118], 1
jmp 0x1002afd9
mov dword [ebp - 0x118], 0
movsx edx, byte [0x1004a017]
cmp edx, 0x4f
jg 0x1002aff1
mov dword [ebp - 0x11c], 1
jmp 0x1002affb
mov dword [ebp - 0x11c], 0
mov eax, dword [ebp - 0x118]
cmp eax, dword [ebp - 0x11c]
jg 0x1002b037
movzx ecx, byte [0x1004a06b]
movzx edx, byte [ebp - 5]
cmp ecx, edx
jle 0x1002b035
movzx eax, word [0x1004a124]
movsx ecx, word [ebp - 0x18]
sub eax, ecx
movzx edx, word [0x1004a124]
add edx, eax
mov word [0x1004a124], dx
jmp 0x1002b07b
mov eax, dword [0x1004a17c]
cmp dword [ebp - 0x5c], eax
jne 0x1002b07b
mov eax, dword [ebp - 0x30]
cdq
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov dword [0x1004a0f8], eax
mov dword [0x1004a0fc], edx
mov dx, word [0x1004a100]
mov eax, 2
imul ecx, eax, 0x3b
mov word [ecx + 0x101f0888], dx
xor eax, eax
jmp 0x1002bd49
call fcn.10009250
movzx edx, al
test edx, edx
jne 0x1002b229
push 0x1003b420
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov byte [ebp - 3], al
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x84], eax
mov ecx, dword [0x1004ac78]
xor edx, edx
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], edx
mov byte [ebp - 1], 0x9d
mov eax, dword [ebp - 0x84]
add eax, 0x2ea
mov dword [ebp - 0x318], eax
push 8
push 0
push 0x1003b424
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x84]
add ecx, 0x30d
mov dword [ebp - 0x1b8], ecx
movsx edx, byte [0x1004a017]
sub edx, dword [ebp - 0x30]
jne 0x1002b10b
mov dword [ebp - 0x120], 1
jmp 0x1002b115
mov dword [ebp - 0x120], 0
movsx eax, byte [ebp - 2]
mov ecx, dword [ebp - 0x120]
sub ecx, eax
mov word [ebp - 0xc], cx
mov dword [0x1004a190], 0xe8
mov edx, dword [ebp - 0x84]
add edx, 0x32e
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x88]
add eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x88]
imul ecx, dword [ebp - 0x1b8]
cmp eax, ecx
je 0x1002b229
mov edx, dword [ebp - 0x28]
or edx, dword [ebp - 0x24]
je 0x1002b190
push 0
lea eax, [ebp - 0x754]
push eax
push 0x104
push 0x1003b42c
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
xor ecx, ecx
mov dword [0x1004a180], eax
mov dword [0x1004a184], ecx
movsx edx, word [ebp - 0x14]
cmp edx, dword [ebp - 0x20]
jle 0x1002b222
cmp dword [ebp - 0x2c], 0
je 0x1002b1b3
movsx eax, byte [ebp - 6]
imul eax, eax, 0x34
cdq
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
jmp 0x1002b222
cmp dword [0x1004a0c8], 0
je 0x1002b222
cmp dword [ebp - 0x20], 0
jne 0x1002b1ce
mov dword [ebp - 0x124], 1
jmp 0x1002b1d8
mov dword [ebp - 0x124], 0
mov ecx, dword [0x1004a104]
xor edx, edx
mov eax, dword [0x1004a170]
not eax
mov esi, dword [0x1004a174]
not esi
push esi
push eax
push edx
push ecx
call fcn.1002e960
push edx
push eax
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x48]
push edx
call fcn.1002e960
mov ecx, eax
mov eax, 0x36efd3dc
sub eax, dword [ebp - 0x124]
movzx edx, byte [ebp - 5]
sub eax, edx
cdq
sub ecx, eax
not ecx
mov byte [ebp - 2], cl
xor eax, eax
jmp 0x1002bd49
mov al, byte [0x1004ac78]
mov byte [0x1004a0bb], al
call fcn.10017cf0
test eax, eax
je 0x1002b242
mov byte [ebp - 0x32], 1
jmp 0x1002b246
mov byte [ebp - 0x32], 0
mov cl, byte [ebp - 0x32]
mov byte [ebp - 0x51], cl
xor edx, edx
mov dword [0x1004a118], 0x37d07db2
mov dword [0x1004a11c], edx
mov ecx, dword [0x1004a0c0]
mov esi, dword [0x1004a0c4]
movzx eax, byte [ebp - 4]
cdq
add eax, dword [0x1004a118]
adc edx, dword [0x1004a11c]
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x260], esi
mov dword [ebp - 0x26c], eax
mov dword [ebp - 0x268], edx
mov edx, dword [ebp - 0x264]
cmp edx, dword [ebp - 0x26c]
jne 0x1002b3c7
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp - 0x268]
jne 0x1002b3c7
movsx eax, word [ebp - 0x18]
cdq
xor eax, dword [0x1004a0e8]
xor edx, dword [0x1004a0ec]
mov ecx, dword [0x1004a0e8]
sub ecx, eax
mov eax, dword [0x1004a0ec]
sbb eax, edx
mov dword [0x1004a0e8], ecx
mov dword [0x1004a0ec], eax
movsx eax, byte [ebp - 6]
add eax, 0xa8e1
cdq
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], edx
mov ecx, dword [str.J64_]
cmp ecx, dword [ebp - 0x274]
jne 0x1002b3c7
mov edx, dword [0x1004a13c]
cmp edx, dword [ebp - 0x270]
jne 0x1002b3c7
push 0x1003b440
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov byte [ebp - 1], al
movsx eax, byte [ebp - 1]
test eax, eax
jge 0x1002b33b
mov byte [0x1004a092], 0x59
jmp 0x1002b3b9
mov ecx, dword [0x1004a0c0]
mov edx, dword [0x1004a0c4]
not ecx
not edx
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x278], edx
mov eax, dword [ebp - 0x27c]
or eax, dword [ebp - 0x278]
je 0x1002b3b9
movzx eax, word [ebp - 0xc]
cdq
mov ecx, eax
sub ecx, 0xb9665e65
movsx eax, byte [ebp - 2]
cdq
sub eax, ecx
mov byte [ebp - 2], al
movsx edx, byte [ebp - 1]
test edx, edx
jne 0x1002b390
mov dword [ebp - 0x128], 1
jmp 0x1002b39a
mov dword [ebp - 0x128], 0
mov eax, dword [0x1004a148]
not eax
sub eax, 0x710f0354
movzx ecx, word [0x1004a150]
sub eax, ecx
imul eax, dword [ebp - 0x128]
mov dword [ebp - 0x30], eax
jmp 0x1002b24c
movzx eax, byte [ebp - 0x51]
test eax, eax
jne 0x1002bd44
mov eax, dword [0x1004a140]
cdq
mov dword [0x1004a188], eax
mov dword [0x1004a18c], edx
cmp dword [0x1004a158], 0
jne 0x1002b3f9
mov dword [ebp - 0x12c], 1
jmp 0x1002b403
mov dword [ebp - 0x12c], 0
movzx ecx, word [0x1004a150]
sub ecx, dword [ebp - 0x12c]
xor ecx, 0x31
mov edx, dword [0x1004a15c]
sub edx, dword [0x1004a158]
movzx eax, byte [ebp - 5]
movzx esi, word [ebp - 0x10]
imul eax, esi
imul edx, eax
and ecx, edx
xor edx, edx
mov dword [0x1004a0d8], ecx
mov dword [0x1004a0dc], edx
movzx eax, word [ebp - 0xc]
movzx ecx, byte [ebp - 5]
add eax, ecx
mov edx, dword [0x1004a140]
not edx
sub edx, dword [0x1004a144]
not edx
add eax, edx
cdq
mov dword [0x1004a0f8], eax
mov dword [0x1004a0fc], edx
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x8c], eax
movsx ecx, byte [ebp - 1]
cmp dword [ebp - 0x2c], ecx
jne 0x1002b485
movzx edx, byte [0x1004a0ba]
mov dword [ebp - 0x58], edx
jmp 0x1002b49a
movzx eax, byte [ebp - 7]
test eax, eax
je 0x1002b49a
movzx ecx, word [ebp - 0x10]
shl ecx, 2
mov dword [0x1004a158], ecx
mov edx, dword [ebp - 0x8c]
add edx, 0x33c
mov dword [ebp - 0x1c4], edx
push 0x1003b454
call dword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov byte [ebp - 3], al
mov eax, dword [ebp - 0x1bc]
add eax, dword [ebp - 0x8c]
mov dword [ebp - 0x110], eax
mov byte [ebp - 2], 0xac
mov ecx, dword [ebp - 0x8c]
add ecx, 0x1a9
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x110]
and edx, 0x13
mov eax, dword [ebp - 0x1c0]
sub eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x1c4]
cmp edx, eax
je 0x1002bd44
mov dword [0x1004a190], 0
mov byte [0x1004a06b], 0
mov ecx, dword [0x1004a190]
mov dword [ebp - 0x1c8], ecx
cmp dword [ebp - 0x1c8], 0
je 0x1002b52d
jmp 0x1002b553
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0
push 0xe1e5d4c9
push eax
push edx
call fcn.1002e960
mov dword [0x1004a160], eax
mov dword [0x1004a164], edx
mov dword [ebp - 0x20], 0x684afa0d
call fcn.10010760
test eax, eax
je 0x1002bd22
cmp dword [0x1004a104], 0
je 0x1002b590
mov cx, word [str.J64_]
mov edx, 2
imul eax, edx, 0x9f
mov word [eax + 0x101f0888], cx
mov cx, word [0x1004a100]
mov word [0x1004a100], cx
movsx edx, byte [0x1004a017]
test edx, edx
je 0x1002b5bc
mov eax, dword [0x1004a104]
sub eax, 0x2551
mov byte [ebp - 7], al
mov ecx, dword [0x1004a110]
sub ecx, 1
mov dword [0x1004a110], ecx
jmp 0x1002b642
cmp dword [ebp - 0x38], 0
jne 0x1002b5d6
xor edx, edx
mov dword [ebp - 0x18c], 1
mov dword [ebp - 0x188], edx
jmp 0x1002b5e1
xorps xmm0, xmm0
movlpd qword [ebp - 0x18c], xmm0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
add eax, dword [ebp - 0x18c]
adc ecx, dword [ebp - 0x188]
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], ecx
mov edx, dword [ebp - 0x284]
or edx, dword [ebp - 0x280]
je 0x1002b642
movzx eax, byte [ebp - 7]
cdq
mov ecx, dword [0x1004a13c]
push ecx
mov ecx, dword [str.J64_]
push ecx
push edx
push eax
call fcn.1002e960
mov ecx, eax
movsx eax, byte [0x1004a093]
movzx edx, word [ebp - 0xc]
imul eax, edx
not eax
cdq
add ecx, eax
not ecx
mov word [ebp - 0x10], cx
mov eax, dword [0x1004ac78]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x98], 0
jmp 0x1002b665
mov ecx, dword [ebp - 0x98]
add ecx, 1
mov dword [ebp - 0x98], ecx
cmp dword [ebp - 0x98], 4
jge 0x1002b67f
mov edx, dword [0x1004a154]
add edx, 1
mov dword [0x1004a154], edx
jmp 0x1002b656
mov eax, dword [ebp - 0x68]
add eax, 0x6e89
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x58]
xor edx, edx
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x288], edx
mov eax, dword [0x1004a0d4]
cmp eax, dword [ebp - 0x288]
jb 0x1002b752
ja 0x1002b6c3
mov ecx, dword [0x1004a0d0]
cmp ecx, dword [ebp - 0x28c]
jbe 0x1002b752
movzx edx, word [ebp - 0xc]
cmp edx, dword [0x1004a15c]
jg 0x1002b6ff
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x48]
mov word [ebp - 0xc], ax
movsx eax, byte [str.address_family_not]
cdq
push 0xaa5c
push 0x112321c8
push edx
push eax
call fcn.1002e960
mov dword [0x1004a108], eax
mov dword [0x1004a10c], edx
jmp 0x1002b750
mov ecx, dword [ebp - 0x28]
or ecx, dword [ebp - 0x24]
jne 0x1002b739
movsx eax, word [0x1004a100]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x1004a14c]
mov edx, 2
imul eax, edx, 0xb9
mov word [eax + 0x100d6370], cx
jmp 0x1002b750
cmp dword [0x1004a14c], 0
je 0x1002b750
movzx ecx, word [ebp - 0x1c]
movsx edx, byte [ebp - 1]
add ecx, edx
mov word [ebp - 0x1c], cx
jmp 0x1002b75f
mov eax, dword [0x1004a0c8]
shl eax, 4
mov dword [0x1004a14c], eax
mov ecx, dword [ebp - 0x68]
add ecx, 0x5929
mov dword [ebp - 0x31c], ecx
movsx edx, byte [ebp - 6]
test edx, edx
je 0x1002b807
mov byte [ebp - 5], 2
mov eax, dword [0x1004a118]
add eax, 1
mov ecx, dword [0x1004a11c]
adc ecx, 0
mov dword [0x1004a118], eax
mov dword [0x1004a11c], ecx
mov dl, byte [ebp - 5]
mov byte [ebp - 0x94], dl
cmp byte [ebp - 0x94], 0
je 0x1002b7c0
cmp byte [ebp - 0x94], 1
je 0x1002b7d8
cmp byte [ebp - 0x94], 2
je 0x1002b7fb
jmp 0x1002b807
mov eax, dword [0x1004a160]
mov ecx, dword [0x1004a164]
mov dword [ebp - 0x2c0], ecx
mov byte [0x1004a093], al
jmp 0x1002b807
movzx edx, byte [ebp - 7]
add edx, dword [0x1004a110]
mov dword [0x1004a110], edx
movzx eax, byte [0x1004a0ba]
add eax, 0x32b8
mov byte [0x1004a0bb], al
jmp 0x1002b807
mov cl, byte [0x1004ac78]
mov byte [0x1004a0bb], cl
mov edx, dword [ebp - 0x68]
add edx, 0xbb
mov dword [ebp - 0x1d0], edx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov edx, dword [0x1004a0c0]
mov esi, dword [0x1004a0c4]
mov dword [ebp - 0x294], eax
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x298], esi
mov eax, dword [ebp - 0x290]
cmp eax, dword [ebp - 0x298]
jg 0x1002b959
jl 0x1002b865
mov ecx, dword [ebp - 0x294]
cmp ecx, dword [ebp - 0x29c]
ja 0x1002b959
movzx edx, byte [0x1004a093]
push edx
movzx eax, byte [ebp - 0x58]
push eax
movzx ecx, byte [0x1004a0f0]
push ecx
push 0
call fcn.10024ee0
add esp, 0x10
movzx eax, al
cdq
mov dword [0x1004a0c0], eax
mov dword [0x1004a0c4], edx
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
mov dword [ebp - 0x2a4], edx
mov dword [ebp - 0x2a0], eax
cmp dword [ebp - 0x2a0], 0
jg 0x1002b92f
jl 0x1002b8be
cmp dword [ebp - 0x2a4], 0
jae 0x1002b92f
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2a8], edx
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], esi
mov ecx, dword [ebp - 0x2ac]
cmp ecx, dword [ebp - 0x2b4]
jne 0x1002b8fd
mov edx, dword [ebp - 0x2a8]
cmp edx, dword [ebp - 0x2b0]
je 0x1002b909
mov ax, word [0x1004ac78]
mov word [ebp - 0x10], ax
jmp 0x1002b92d
movzx eax, byte [ebp - 3]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x24]
push ecx
mov edx, dword [ebp - 0x28]
push edx
call fcn.1002e960
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
imul eax, dword [0x1004a178], 0x4a
mov dword [ebp - 0x5c], eax
jmp 0x1002b957
movsx ecx, word [0x1004a100]
test ecx, ecx
je 0x1002b946
movsx edx, byte [ebp - 2]
sub edx, 0x1a
mov dword [ebp - 0x38], edx
jmp 0x1002b957
mov eax, dword [ebp - 0x2c]
not eax
test eax, eax
je 0x1002b957
mov byte [ebp - 2], 8
mov byte [ebp - 6], 2
jmp 0x1002b9a3
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x2b8], edx
mov eax, dword [ebp - 0x2bc]
or eax, dword [ebp - 0x2b8]
je 0x1002b9a3
mov ecx, 1
imul edx, ecx, 0x18
movzx eax, byte [edx + 0x1025d660]
movsx ecx, byte [ebp - 1]
and ecx, eax
mov byte [ebp - 1], cl
movzx edx, word [ebp - 0x1c]
sar edx, 1
mov dword [0x1004a158], edx
mov byte [0x1004a092], 0x82
movsx eax, byte [0x1004a092]
movsx ecx, byte [ebp - 6]
add ecx, 1
cmp eax, ecx
jne 0x1002ba9f
push 0
push 0xffffffffffffffaa
movzx edx, byte [ebp - 0x10]
push edx
push 0
push 0
call fcn.100248f0
add esp, 0x14
mov byte [0x1004a06b], al
movzx eax, byte [0x1004a06b]
test eax, eax
je 0x1002ba1e
movsx ecx, byte [0x1004a093]
movsx edx, word [0x1004a100]
sub ecx, edx
movsx eax, byte [0x1004a093]
sub eax, ecx
mov byte [0x1004a093], al
movzx ecx, word [0x1004a0cc]
imul edx, ecx, 0xef4c677d
mov eax, dword [0x1004a17c]
or eax, edx
mov dword [0x1004a17c], eax
jmp 0x1002ba4f
cmp dword [0x1004a0c8], 0
je 0x1002ba4f
movzx ecx, byte [ebp - 4]
sub ecx, dword [0x1004a154]
mov byte [ebp - 4], cl
mov edx, 2
imul eax, edx, 0x3126
movsx ecx, word [eax + 0x102499e8]
movzx edx, byte [ebp - 5]
add edx, ecx
mov byte [ebp - 5], dl
movsx eax, word [0x1004a120]
cmp eax, 1
jne 0x1002ba9f
movsx ecx, byte [0x1004a093]
sub ecx, 0x7493
mov dword [ebp - 0x2c], ecx
movzx eax, word [ebp - 0x10]
cdq
add eax, 0x8feedaf2
mov dword [ebp - 0x30], eax
jmp 0x1002ba9f
mov byte [0x1004a092], 0x82
mov ecx, 2
imul edx, ecx, 0x83
movzx eax, word [edx + 0x100d6200]
cdq
add eax, dword [0x1004a108]
adc edx, dword [0x1004a10c]
mov dword [0x1004a108], eax
mov dword [0x1004a10c], edx
cmp dword [0x1004a104], 0
jne 0x1002bae5
mov dword [ebp - 0x130], 1
jmp 0x1002baef
mov dword [ebp - 0x130], 0
mov eax, dword [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov esi, dword [ebp - 0x44]
sbb esi, edx
movzx edx, byte [ebp - 7]
mov eax, edx
imul eax, dword [ebp - 0x130]
cdq
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov word [0x1004a120], ax
mov eax, 8
imul ecx, eax, 0x158f
mov edx, dword [0x1004a0d0]
sub edx, dword [ecx + 0x1007e0a8]
mov eax, dword [0x1004a0d4]
sbb eax, dword [ecx + 0x1007e0ac]
mov dword [0x1004a0d0], edx
mov dword [0x1004a0d4], eax
mov ecx, dword [ebp - 0x1cc]
or ecx, dword [ebp - 0x1d0]
mov edx, 0x729b
sub edx, ecx
mov dword [ebp - 0x1d4], edx
call fcn.1000e670
test eax, eax
je 0x1002bd22
push 0
call dword [sym.imp.KERNEL32.dll_GetACP]
push eax
call dword [sym.imp.KERNEL32.dll_GetCPInfo]
xor ecx, ecx
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], ecx
movzx edx, word [ebp - 0x10]
movzx eax, byte [ebp - 3]
sub edx, eax
movzx ecx, word [ebp - 0x10]
or ecx, edx
mov word [ebp - 0x10], cx
mov edx, dword [0x1004a104]
mov eax, dword [0x1004a0e0]
mov ecx, dword [0x1004a0e4]
mov dword [ebp - 0x2c4], ecx
add edx, eax
mov word [ebp - 0xc], dx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x48]
sub eax, 0x4c9c85d6
mov word [0x1004a124], ax
mov ecx, dword [ebp - 0x6c]
add ecx, 0xa4
mov dword [ebp - 0x2c8], ecx
mov edx, 8
imul eax, edx, 0x977
mov ecx, dword [0x1004a130]
mov edx, dword [0x1004a134]
or ecx, dword [eax + 0x1007e0a8]
or edx, dword [eax + 0x1007e0ac]
mov dword [0x1004a130], ecx
mov dword [0x1004a134], edx
movsx eax, byte [0x1004a017]
imul ecx, eax, 0xaf48f8aa
mov word [ebp - 0xc], cx
mov edx, dword [ebp - 0x1d4]
add edx, dword [ebp - 0x6c]
mov dword [ebp - 0x2cc], edx
movsx eax, byte [ebp - 6]
movsx ecx, byte [ebp - 1]
cmp eax, ecx
jne 0x1002bc44
mov edx, dword [ebp - 0x28]
sub edx, 0x383bb8e9
mov dword [ebp - 0x20], edx
jmp 0x1002bc71
movzx eax, byte [ebp - 4]
cmp dword [0x1004a14c], eax
jae 0x1002bc71
movzx ecx, byte [0x1004a06b]
movzx edx, byte [ebp - 7]
and ecx, edx
movzx eax, byte [0x1004a06b]
or eax, ecx
mov byte [0x1004a06b], al
mov cl, byte [ebp - 5]
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0x6c]
add edx, 0xcd
mov dword [ebp - 0x198], edx
cmp dword [ebp - 0x198], 0x785e
je 0x1002bd22
mov eax, dword [0x1004a15c]
xor eax, 0x3d2a
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov al, byte [0x1004ac78]
mov byte [0x1004a0ba], al
movzx ecx, word [ebp - 0x1c]
movsx edx, byte [0x1004a092]
cmp ecx, edx
jg 0x1002bd1b
mov eax, dword [ebp - 0x28]
or eax, dword [ebp - 0x24]
jne 0x1002bcd6
xor ecx, ecx
mov dword [ebp - 0x194], 1
mov dword [ebp - 0x190], ecx
jmp 0x1002bce1
xorps xmm0, xmm0
movlpd qword [ebp - 0x194], xmm0
mov edx, dword [ebp - 0x194]
mov eax, dword [ebp - 0x190]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], eax
movzx eax, byte [0x1004a06b]
cdq
push 0xc7693
push 0xdcff49d5
push edx
push eax
call fcn.1002e960
mov ecx, eax
mov eax, dword [0x1004a148]
cdq
sub eax, ecx
mov dword [0x1004a148], eax
mov eax, 1
jmp 0x1002bd49
movsx edx, word [0x1004a100]
movsx eax, word [ebp - 0x18]
cmp edx, eax
jg 0x1002bd40
mov ecx, dword [ebp - 0x5c]
add ecx, 0xfe
mov dword [0x1004a140], ecx
xor eax, eax
jmp 0x1002bd49
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret 4