Function at 0x10002a40
Capabilities:
Get disk information
Query environment variable

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x1334
call fcn.1002ea10
push ebx
push esi
push edi
mov eax, dword [0x1004a178]
mov dword [ebp - 0x2c0], eax
mov byte [ebp - 2], 0x44
mov byte [ebp - 6], 0x58
mov byte [ebp - 7], 0x6b
mov ecx, 0x98f1
mov word [ebp - 0x68], cx
mov edx, 0x72
mov word [ebp - 0x18], dx
mov dword [ebp - 0x38], 0xb3f6
mov eax, 0x7df3a
mov dword [ebp - 0x40], 0xe6c1ab62
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1004a0c8]
mov dword [ebp - 0x7c], ecx
mov byte [ebp - 3], 0xdc
mov dword [ebp - 0x1c], 0x2e3ec074
xor edx, edx
mov dword [ebp - 0x48], 0x2b25
mov dword [ebp - 0x44], edx
mov eax, dword [0x1004a15c]
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x7f
mov ecx, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov dword [ebp - 0x2c4], edx
mov word [ebp - 0x10], cx
mov eax, dword [0x1004a14c]
mov byte [ebp - 5], al
mov ecx, dword [0x1004a148]
mov word [ebp - 0xc], cx
movsx edx, byte [0x1004a017]
mov dword [ebp - 0x54], edx
mov eax, 0xb2
mov word [ebp - 0x14], ax
xor ecx, ecx
mov dword [ebp - 0x30], 0xbc
mov dword [ebp - 0x2c], ecx
xor edx, edx
mov dword [ebp - 0x50], 0xeae74c66
mov dword [ebp - 0x4c], edx
mov al, byte [0x1004a144]
mov byte [ebp - 1], al
mov dword [ebp - 0x24], 0x22
mov ecx, dword [0x1004a178]
xor edx, edx
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0x2e8], edx
mov dword [ebp - 0x2c8], 0xf4ef9d6f
mov byte [ebp - 0x6b], 0x40
movzx eax, byte [0x1004a0bb]
cdq
mov dword [ebp - 0x2f4], eax
mov dword [ebp - 0x2f0], edx
mov eax, dword [0x1004a0d8]
mov ecx, dword [0x1004a0dc]
mov dword [ebp - 0x2cc], ecx
mov dword [ebp - 0x2d0], eax
mov byte [ebp - 0x7d], 0x5f
mov edx, dword [0x1004a188]
mov eax, dword [0x1004a18c]
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x2d8], edx
mov ecx, dword [0x1004a140]
mov dword [ebp - 0x2dc], ecx
mov edx, dword [0x1004a118]
mov dword [ebp - 0x2e0], edx
mov al, byte [0x1004a128]
mov byte [ebp - 0x6a], al
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x2f8], edx
movsx ax, byte [0x1004a03f]
mov word [ebp - 0x164], ax
xor ecx, ecx
mov dword [ebp - 0x304], 0x6efc994c
mov dword [ebp - 0x300], ecx
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
mov dword [ebp - 0x2e4], eax
mov byte [ebp - 0x69], dl
movzx cx, byte [0x1004a0bc]
mov word [ebp - 0x160], cx
mov edx, dword [0x1004a190]
xor eax, eax
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x308], eax
movsx ecx, byte [0x1004a017]
test ecx, ecx
je 0x10002c2e
mov edx, dword [0x1004a158]
mov dword [ebp - 0x118], edx
jmp 0x10002c39
mov eax, dword [0x1004a178]
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
mov dword [0x1004a190], ecx
mov edx, dword [0x1004ac78]
mov dword [ebp - 0x70], edx
push 0
push 0
push 0xffffffffffffffe4
push 0x33
push 0xb
call fcn.100248f0
add esp, 0x14
mov byte [ebp - 1], al
movsx eax, byte [ebp - 1]
test eax, eax
jge 0x10002c77
mov dword [ebp - 0x11c], 1
jmp 0x10002c81
mov dword [ebp - 0x11c], 0
movsx ecx, byte [ebp - 1]
cmp ecx, 0x5e
jge 0x10002c96
mov dword [ebp - 0x84], 1
jmp 0x10002ca0
mov dword [ebp - 0x84], 0
mov edx, dword [ebp - 0x11c]
cmp edx, dword [ebp - 0x84]
jne 0x10002dfa
movsx eax, word [ebp - 0x10]
cdq
push edx
push eax
call fcn.10024090
add esp, 8
mov dword [str.J64_], eax
mov dword [0x1004a13c], edx
mov eax, dword [0x1004a160]
mov ecx, dword [0x1004a164]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], ecx
mov edx, dword [ebp - 0x170]
or edx, dword [ebp - 0x16c]
je 0x10002d29
mov eax, dword [0x1004a148]
cdq
mov dword [ebp - 0x178], eax
mov dword [ebp - 0x174], edx
cmp dword [ebp - 0x174], 0x6b457
jg 0x10002d29
jl 0x10002d1d
cmp dword [ebp - 0x178], 0x5034782f
ja 0x10002d29
mov dword [ebp - 0x90], 1
jmp 0x10002d33
mov dword [ebp - 0x90], 0
mov eax, dword [0x1004a140]
not eax
cdq
mov ecx, dword [0x1004a0d8]
mov esi, dword [0x1004a0dc]
mov dword [ebp - 0x180], eax
mov dword [ebp - 0x17c], edx
mov dword [ebp - 0x188], ecx
mov dword [ebp - 0x184], esi
mov edx, dword [ebp - 0x180]
cmp edx, dword [ebp - 0x188]
jne 0x10002d87
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x184]
jne 0x10002d87
mov dword [ebp - 0x110], 1
jmp 0x10002d91
mov dword [ebp - 0x110], 0
mov ecx, dword [ebp - 0x24]
not ecx
test ecx, ecx
je 0x10002daf
cmp dword [0x1004a128], 0
jne 0x10002daf
mov dword [ebp - 0x8c], 1
jmp 0x10002db9
mov dword [ebp - 0x8c], 0
mov edx, dword [ebp - 0x110]
add edx, dword [ebp - 0x8c]
cmp dword [ebp - 0x90], edx
jl 0x10002de6
mov eax, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov cl, 4
call fcn.1002e9a0
mov byte [0x1004a03f], al
jmp 0x10002df8
mov eax, dword [0x1004ac78]
xor ecx, ecx
mov dword [0x1004a130], eax
mov dword [0x1004a134], ecx
jmp 0x10002e0a
movsx edx, byte [0x1004a03f]
imul eax, edx, 0xf6e9
mov byte [ebp - 5], al
mov ecx, dword [ebp - 0x70]
add ecx, 0x2e4
mov dword [ebp - 0x29c], ecx
mov eax, dword [0x1004a148]
cdq
add eax, 0x5d502877
mov word [ebp - 0x10], ax
mov edx, dword [ebp - 0x70]
add edx, 0x1c5
mov dword [ebp - 0x150], edx
mov eax, dword [ebp - 0x70]
add eax, 0x6a
mov dword [ebp - 0x154], eax
mov dword [ebp - 0x88], 0
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x1004a160]
mov esi, dword [0x1004a164]
sub ecx, eax
sbb esi, edx
mov dword [0x1004a160], ecx
mov dword [0x1004a164], esi
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
movsx edx, word [0x1004a100]
movsx eax, byte [0x1004a093]
cmp edx, eax
je 0x10002e9a
mov dword [ebp - 0x94], 1
jmp 0x10002ea4
mov dword [ebp - 0x94], 0
movsx ecx, word [0x1004a100]
cmp ecx, 0x18
je 0x10002ebc
mov dword [ebp - 0x98], 1
jmp 0x10002ec6
mov dword [ebp - 0x98], 0
mov edx, dword [ebp - 0x94]
cmp edx, dword [ebp - 0x98]
jne 0x10002f3d
mov eax, dword [0x1004a130]
mov ecx, dword [0x1004a134]
sub eax, 0x5d77
sbb ecx, 0
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add edx, eax
adc esi, ecx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
je 0x10002f15
movzx eax, word [0x1004a0cc]
cdq
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x120], edx
jmp 0x10002f2d
mov ecx, dword [0x1004a0e8]
mov edx, dword [0x1004a0ec]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x120], edx
mov ax, word [ebp - 0x124]
mov word [ebp - 0x10], ax
jmp 0x1000303a
movzx ecx, word [0x1004a124]
test ecx, ecx
je 0x10002fa0
movsx edx, byte [0x1004a017]
test edx, edx
je 0x10002fa0
movzx eax, byte [ebp - 4]
cdq
mov ecx, eax
mov esi, edx
add ecx, 0x849c5fd4
adc esi, 0x9d99e
movsx eax, byte [ebp - 7]
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x190], ecx
mov dword [ebp - 0x18c], esi
mov edx, dword [ebp - 0x190]
or edx, dword [ebp - 0x18c]
jne 0x10002f91
mov byte [ebp - 0x1d], 1
jmp 0x10002f95
mov byte [ebp - 0x1d], 0
mov al, byte [ebp - 0x1d]
mov byte [ebp - 6], al
jmp 0x1000303a
movzx ecx, word [ebp - 0x18]
movsx edx, byte [0x1004a017]
cmp ecx, edx
je 0x1000303a
xor eax, eax
mov dword [ebp - 0x40], 0x2958
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1004a140]
add ecx, dword [0x1004a158]
movzx edx, word [0x1004a150]
movsx eax, byte [ebp - 1]
sub edx, eax
add ecx, edx
jne 0x10002ff0
xor ecx, ecx
mov dword [ebp - 0x198], 1
mov dword [ebp - 0x194], ecx
jmp 0x10002ffb
xorps xmm0, xmm0
movlpd qword [ebp - 0x198], xmm0
push 0
push 0x5877c1a8
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
push eax
call fcn.1002e960
mov ecx, eax
movsx eax, byte [ebp - 1]
cdq
mov edx, dword [0x1004a188]
mov esi, dword [0x1004a18c]
mov dword [ebp - 0x2a0], esi
sub edx, eax
not edx
sub ecx, edx
or ecx, dword [ebp - 0x198]
mov byte [str.address_family_not], cl
mov dword [0x1004a0c8], 1
xor eax, eax
mov byte [ebp - 0x31], al
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x334]
push ecx
lea ecx, [ebp - 0x31]
call fcn.100018e0
mov ecx, eax
call fcn.10022160
push eax
push 0
push 0
call fcn.100013e0
add esp, 8
call eax
mov dword [ebp - 0x60], eax
cmp dword [ebp - 0x60], 0
jne 0x10003096
mov edx, dword [ebp - 0x1c]
sub edx, 1
mov dword [ebp - 0x1c], edx
mov eax, 0x1016
mov word [ebp - 0xc], ax
jmp 0x10004286
push 0
push 0x84000000
push 0
push 0
mov ecx, dword [ebp + 8]
push ecx
mov edx, dword [ebp - 0x60]
push edx
push 0
push 0
call fcn.10001440
add esp, 8
call eax
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0x64], 0
jne 0x100030ec
movzx eax, byte [ebp - 3]
sub eax, 0x5aba0b2b
mov dword [ebp - 0x7c], eax
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
add ecx, 0x460e
adc edx, 0
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
jmp 0x10004286
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x54]
cdq
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], esi
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], edx
mov edx, dword [ebp - 0x1a0]
cmp edx, dword [ebp - 0x1a8]
jne 0x1000312a
mov eax, dword [ebp - 0x19c]
cmp eax, dword [ebp - 0x1a4]
je 0x10003136
mov dword [ebp - 0x9c], 1
jmp 0x10003140
mov dword [ebp - 0x9c], 0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x1ac], edx
cmp dword [ebp - 0x1b0], 0x43
jne 0x10003164
cmp dword [ebp - 0x1ac], 0
je 0x10003170
mov dword [ebp - 0xa0], 1
jmp 0x1000317a
mov dword [ebp - 0xa0], 0
mov eax, dword [ebp - 0x9c]
cmp eax, dword [ebp - 0xa0]
jle 0x1000320c
movzx ecx, byte [0x1004a0bc]
cmp dword [0x1004a190], ecx
ja 0x100031a7
mov dword [ebp - 0xa4], 1
jmp 0x100031b1
mov dword [ebp - 0xa4], 0
cmp dword [0x1004a190], 0x2d
ja 0x100031c6
mov dword [ebp - 0xa8], 1
jmp 0x100031d0
mov dword [ebp - 0xa8], 0
mov edx, dword [ebp - 0xa4]
cmp edx, dword [ebp - 0xa8]
jne 0x100031e0
jmp 0x1000320a
movsx eax, byte [0x1004a03f]
sub eax, 0x7644
mov byte [ebp - 3], al
mov ecx, dword [0x1004a0c0]
mov edx, dword [0x1004a0c4]
sub ecx, 0x62f
sbb edx, 0
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
jmp 0x1000327e
cmp dword [0x1004a190], 0
je 0x10003227
movsx eax, byte [0x1004a017]
and eax, 0xf2
mov word [ebp - 0x14], ax
jmp 0x1000327e
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
not ecx
not edx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x1b8]
or eax, dword [ebp - 0x1b4]
je 0x1000325b
movzx ecx, byte [ebp - 4]
add ecx, 0x1f46c39c
mov word [ebp - 0xc], cx
jmp 0x1000327e
cmp dword [0x1004a0ec], 0xffffffff
jb 0x1000327e
ja 0x10003272
cmp dword [0x1004a0e8], 0xffff92fc
jb 0x1000327e
mov edx, dword [0x1004ac78]
mov dword [0x1004a14c], edx
mov dword [ebp - 0x5c], 0
movzx eax, byte [ebp - 2]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [0x1004a178], eax
mov dword [ebp - 0x108], 0
xor ecx, ecx
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
sub edx, dword [ebp - 0x24]
sbb eax, ecx
mov dword [0x1004a130], edx
mov dword [0x1004a134], eax
movsx ecx, byte [0x1004a092]
test ecx, ecx
jne 0x100032db
xor edx, edx
mov dword [ebp - 0x1c0], 1
mov dword [ebp - 0x1bc], edx
jmp 0x100032e6
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c0], xmm0
mov eax, dword [ebp - 0x1c0]
add eax, dword [0x1004a0d0]
mov ecx, dword [0x1004a0e0]
mov edx, dword [0x1004a0e4]
mov dword [ebp - 0x2a4], edx
sub ecx, eax
mov dword [0x1004a140], ecx
mov eax, 1
test eax, eax
je 0x1000425b
mov ecx, dword [0x1004a0d8]
mov esi, dword [0x1004a0dc]
movsx eax, byte [0x1004a03e]
cdq
mov dword [ebp - 0x1c8], ecx
mov dword [ebp - 0x1c4], esi
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], edx
mov edx, dword [ebp - 0x1c4]
cmp edx, dword [ebp - 0x1cc]
jl 0x10003444
jg 0x1000336b
mov eax, dword [ebp - 0x1c8]
cmp eax, dword [ebp - 0x1d0]
jb 0x10003444
mov dword [0x1004a104], 0
mov cx, word [0x1004a108]
mov edx, 2
imul eax, edx, 0x12
mov word [eax + 0x102216e0], cx
mov ecx, dword [0x1004a104]
mov dword [ebp - 0x168], ecx
cmp dword [ebp - 0x168], 0
je 0x100033a5
jmp 0x1000343f
mov edx, dword [0x1004a168]
mov eax, dword [0x1004a16c]
mov dword [ebp - 0x1d8], edx
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d8]
or ecx, dword [ebp - 0x1d4]
jne 0x100033de
xor edx, edx
mov dword [ebp - 0x12c], 1
mov dword [ebp - 0x128], edx
jmp 0x100033e9
xorps xmm0, xmm0
movlpd qword [ebp - 0x12c], xmm0
mov eax, dword [ebp - 0x7c]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x1004a0dc]
add ecx, dword [0x1004a0d8]
adc esi, edx
mov eax, dword [0x1004a0c8]
sub eax, dword [0x1004a190]
xor edx, edx
add ecx, eax
adc esi, edx
movsx eax, word [ebp - 0x14]
cdq
mov edi, dword [ebp - 0x12c]
sub edi, dword [0x1004a0e8]
mov ebx, dword [ebp - 0x128]
sbb ebx, dword [0x1004a0ec]
sub eax, edi
sbb edx, ebx
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov dword [0x1004a104], eax
jmp 0x10003682
mov eax, dword [0x1004a0e8]
or eax, dword [0x1004a0ec]
jne 0x1000345d
mov dword [ebp - 0xac], 1
jmp 0x10003467
mov dword [ebp - 0xac], 0
movzx ecx, byte [ebp - 2]
cmp dword [ebp - 0xac], ecx
jne 0x1000347f
mov dword [ebp - 0xb0], 1
jmp 0x10003489
mov dword [ebp - 0xb0], 0
movsx edx, byte [ebp - 6]
cmp edx, dword [ebp - 0xb0]
jne 0x100034a8
mov eax, dword [0x1004a108]
add eax, 0x925db56
mov word [ebp - 0x68], ax
jmp 0x10003682
cmp dword [ebp - 0x54], 0
jne 0x100034dc
mov ecx, dword [str.J64_]
not ecx
mov edx, dword [0x1004a13c]
not edx
mov dword [ebp - 0x1e0], ecx
mov dword [ebp - 0x1dc], edx
mov eax, dword [ebp - 0x1e0]
or eax, dword [ebp - 0x1dc]
je 0x10003607
movzx ecx, byte [0x1004a0ba]
test ecx, ecx
jne 0x10003510
mov edx, dword [0x1004a188]
mov eax, dword [0x1004a18c]
mov dword [ebp - 0x1e8], edx
mov dword [ebp - 0x1e4], eax
mov ecx, dword [ebp - 0x1e8]
or ecx, dword [ebp - 0x1e4]
je 0x10003607
mov edx, dword [ebp - 0x38]
xor eax, eax
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
push eax
push edx
push esi
push ecx
call fcn.1002e960
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
and ecx, eax
and esi, edx
mov dword [0x1004a168], ecx
mov dword [0x1004a16c], esi
movsx eax, byte [ebp - 6]
cdq
xor eax, dword [ebp - 0x30]
xor edx, dword [ebp - 0x2c]
mov ecx, dword [0x1004a170]
not ecx
mov esi, dword [0x1004a174]
not esi
push esi
push ecx
push edx
push eax
call fcn.1002e960
mov dword [ebp - 0x1f0], eax
mov dword [ebp - 0x1ec], edx
mov edx, dword [ebp - 0x1f0]
or edx, dword [ebp - 0x1ec]
jne 0x10003590
mov dword [ebp - 0xb4], 1
jmp 0x1000359a
mov dword [ebp - 0xb4], 0
mov ecx, dword [0x1004a0d0]
not ecx
mov esi, dword [0x1004a0d4]
not esi
movzx eax, byte [ebp - 2]
cdq
push edx
push eax
push esi
push ecx
call fcn.1002e960
mov ecx, 0xffffffb6
sub ecx, eax
mov eax, 0xffffffff
sbb eax, edx
mov dword [ebp - 0x1f8], ecx
mov dword [ebp - 0x1f4], eax
mov ecx, dword [ebp - 0x1f8]
or ecx, dword [ebp - 0x1f4]
jne 0x100035ec
mov dword [ebp - 0xb8], 1
jmp 0x100035f6
mov dword [ebp - 0xb8], 0
mov edx, dword [ebp - 0xb4]
xor edx, dword [ebp - 0xb8]
mov byte [ebp - 5], dl
jmp 0x10003682
cmp dword [0x1004a174], 0
jl 0x1000362f
jg 0x1000361b
cmp dword [0x1004a170], 0
jbe 0x1000362f
xor eax, eax
mov dword [ebp - 0x134], 1
mov dword [ebp - 0x130], eax
jmp 0x1000363a
xorps xmm0, xmm0
movlpd qword [ebp - 0x134], xmm0
mov ecx, dword [0x1004a0c0]
mov edx, dword [0x1004a0c4]
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x130]
cmp eax, dword [ebp - 0x1fc]
jl 0x10003682
jg 0x10003670
mov ecx, dword [ebp - 0x134]
cmp ecx, dword [ebp - 0x200]
jbe 0x10003682
mov dx, word [0x1004a120]
sub dx, 1
mov word [0x1004a120], dx
push 0x1000
push 0
lea eax, [ebp - 0x1334]
push eax
call fcn.1002fc90
add esp, 0xc
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetFileType]
xor ecx, ecx
mov dword [0x1004a118], eax
mov dword [0x1004a11c], ecx
mov dword [ebp - 0x58], 0
lea edx, [ebp - 0x58]
push edx
push 0x1000
lea eax, [ebp - 0x1334]
push eax
mov ecx, dword [ebp - 0x64]
push ecx
push 0
push 0
call fcn.100012f0
add esp, 8
call eax
test eax, eax
jne 0x100036df
jmp 0x1000425b
cmp dword [ebp - 0x58], 0
jne 0x100038d9
mov dword [ebp - 0x78], 0x9dd
mov edx, dword [ebp - 0x28]
sub edx, 0x17353230
xor eax, eax
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push eax
push edx
call fcn.1002e960
mov ecx, eax
movsx eax, byte [0x1004a03e]
cdq
mov esi, eax
mov eax, dword [0x1004a15c]
cdq
add eax, dword [ebp - 0x50]
sub esi, eax
add ecx, esi
not ecx
mov byte [0x1004a0bb], cl
cmp dword [ebp - 0x78], 0x96a
jle 0x100037c4
mov dword [ebp - 0x74], 0x25a
jmp 0x1000374a
mov edx, dword [ebp - 0x74]
sub edx, 1
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0x74], 0
jle 0x100037b6
mov eax, dword [ebp - 0x30]
or eax, dword [ebp - 0x2c]
je 0x1000376b
movzx eax, byte [ebp - 2]
cdq
mov dword [ebp - 0x13c], eax
mov dword [ebp - 0x138], edx
jmp 0x10003783
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x138], edx
mov al, byte [ebp - 0x13c]
mov byte [ebp - 2], al
mov ecx, dword [0x1004a168]
mov edx, dword [0x1004a16c]
mov dword [ebp - 0x2a8], edx
and ecx, 0x3b07
mov byte [ebp - 2], cl
mov eax, dword [0x1004a154]
add eax, 1
mov dword [0x1004a154], eax
jmp 0x10003741
mov ecx, dword [ebp - 0x78]
sub ecx, 1
mov dword [ebp - 0x78], ecx
jmp 0x1000372b
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 0x2c]
jne 0x100037e0
xor eax, eax
mov dword [ebp - 0x208], 1
mov dword [ebp - 0x204], eax
jmp 0x100037eb
xorps xmm0, xmm0
movlpd qword [ebp - 0x208], xmm0
mov ecx, dword [0x1004a0d8]
mov edx, dword [0x1004a0dc]
mov dword [ebp - 0x2ac], edx
add ecx, dword [ebp - 0x208]
not ecx
mov dword [0x1004a178], ecx
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0x5c]
mov dword [eax], ecx
movsx edx, byte [0x1004a092]
test edx, edx
je 0x100038ca
push 0
push 0
push 0x1003b574
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
xor ecx, ecx
mov dword [0x1004a130], eax
mov dword [0x1004a134], ecx
cmp dword [ebp - 0x1c], 0
je 0x100038be
mov edx, dword [0x1004a0f8]
mov eax, dword [0x1004a0fc]
mov dword [ebp - 0x210], edx
mov dword [ebp - 0x20c], eax
mov ecx, dword [ebp - 0x210]
or ecx, dword [ebp - 0x20c]
je 0x10003878
movsx edx, byte [ebp - 6]
imul eax, edx, 0x953aa575
mov byte [ebp - 3], al
jmp 0x100038bc
movzx ecx, byte [ebp - 3]
movsx edx, byte [0x1004a03e]
and ecx, edx
not ecx
movsx eax, byte [ebp - 6]
movsx edx, word [ebp - 0x14]
add eax, edx
xor ecx, eax
mov eax, dword [ebp - 0x28]
not eax
xor eax, dword [ebp - 0x28]
movsx edx, byte [0x1004a017]
sub eax, edx
sub ecx, eax
xor eax, eax
mov dword [str.J64_], ecx
mov dword [0x1004a13c], eax
mov cl, byte [ebp - 0x48]
mov byte [str.address_family_not], cl
jmp 0x100038ca
mov edx, dword [0x1004a104]
sub edx, 0x55
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x108], 1
jmp 0x1000425b
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x10003be8
push 0
push 0
call fcn.10024090
add esp, 8
mov word [ebp - 0x14], ax
mov eax, dword [0x1004a15c]
cdq
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], edx
mov ecx, dword [ebp - 0x218]
cmp ecx, dword [0x1004a118]
jne 0x10003927
mov edx, dword [ebp - 0x214]
cmp edx, dword [0x1004a11c]
je 0x10003a7f
mov eax, 4
mov word [ebp - 0xc], ax
movzx ecx, byte [0x1004a06b]
not ecx
movsx edx, word [0x1004a100]
or ecx, edx
xor ecx, dword [0x1004a15c]
jne 0x10003956
mov dword [ebp - 0xbc], 1
jmp 0x10003960
mov dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0xbc]
and eax, dword [ebp - 0x28]
mov dword [0x1004a144], eax
movzx ecx, word [ebp - 0xc]
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc0], 4
ja case.default.0x1000398b
mov edx, dword [ebp - 0xc0]
jmp dword [edx*4 + 0x100047ac]
mov eax, 2
shl eax, 2
movzx ecx, word [eax + 0x100d6200]
add ecx, dword [0x1004a15c]
mov dword [0x1004a15c], ecx
mov eax, dword [0x1004a108]
mov edx, dword [0x1004a10c]
mov cl, 8
call fcn.1002e9a0
mov byte [ebp - 5], al
jmp case.default.0x1000398b
movzx eax, word [0x1004a0f0]
sub eax, 0xc
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
jmp case.default.0x1000398b
mov edx, dword [ebp - 0x24]
xor edx, 0xd6
movzx eax, byte [0x1004a0bc]
sub eax, edx
mov byte [0x1004a0bc], al
cmp dword [ebp - 0x54], 0
je 0x10003a09
movzx ecx, word [0x1004a0f0]
mov dword [ebp - 0xc4], ecx
jmp 0x10003a13
movzx edx, byte [ebp - 3]
mov dword [ebp - 0xc4], edx
mov al, byte [ebp - 0xc4]
mov byte [ebp - 4], al
jmp case.default.0x1000398b
cmp dword [0x1004a14c], 0
jne 0x10003a33
mov dword [ebp - 0xc8], 1
jmp 0x10003a3d
mov dword [ebp - 0xc8], 0
imul ecx, dword [ebp - 0xc8], 0
movsx edx, word [ebp - 0x14]
imul edx, dword [ebp - 0x38]
add ecx, edx
xor eax, eax
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
mov byte [0x1004a0bc], 0x3d
jmp case.default.0x1000398b
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x2b0], edx
and ecx, 0x170e12a8
mov byte [0x1004a03e], cl
jmp 0x10003a87
mov al, byte [0x1004ac78]
mov byte [ebp - 2], al
mov ecx, dword [ebp - 0x28]
mov edx, dword [0x1004a0f8]
mov eax, dword [0x1004a0fc]
mov dword [ebp - 0x2b4], eax
mov eax, dword [ebp - 0x48]
sub eax, edx
sub ecx, eax
not ecx
mov byte [ebp - 1], cl
mov ecx, dword [ebp - 0x58]
push ecx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x10003be3
push 0
movzx ecx, byte [0x1004a178]
push ecx
push 0
push 0xffffffffffffffa1
push 0
call fcn.100248f0
add esp, 0x14
movsx edx, al
mov dword [0x1004a110], edx
cmp dword [0x1004a110], 0
je 0x10003b4d
mov eax, dword [0x1004a0e8]
or eax, dword [0x1004a0ec]
je 0x10003b17
movsx ecx, byte [str.address_family_not]
and ecx, 0xfaf0958e
mov byte [0x1004a092], cl
jmp 0x10003b48
movsx edx, word [ebp - 0x10]
test edx, edx
jne 0x10003b2b
mov dword [ebp - 0xcc], 1
jmp 0x10003b35
mov dword [ebp - 0xcc], 0
cmp dword [ebp - 0xcc], 0x4a
jle 0x10003b48
mov eax, dword [0x1004a14c]
mov dword [0x1004a17c], eax
jmp 0x10003bde
cmp dword [ebp - 0x24], 0
je 0x10003b83
mov byte [ebp - 1], 0xf6
cmp dword [ebp - 0x38], 0
jne 0x10003b69
mov dword [ebp - 0xd0], 1
jmp 0x10003b73
mov dword [ebp - 0xd0], 0
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0xd0]
not ecx
mov dword [ebp - 0x24], ecx
jmp 0x10003bde
mov edx, dword [0x1004a170]
or edx, dword [0x1004a174]
jne 0x10003ba9
movzx eax, byte [0x1004a0bb]
test eax, eax
jne 0x10003ba9
xorps xmm0, xmm0
movlpd qword [ebp - 0x144], xmm0
jmp 0x10003bbb
xor ecx, ecx
mov dword [ebp - 0x144], 1
mov dword [ebp - 0x140], ecx
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0x140]
ja 0x10003bde
jb 0x10003bd3
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x144]
jae 0x10003bde
movsx eax, byte [ebp - 1]
cdq
and eax, dword [ebp - 0x30]
mov byte [ebp - 1], al
jmp 0x1000425b
jmp 0x10003d9f
mov ecx, 0x8a1c
mov word [ebp - 0x18], cx
movsx edx, byte [ebp - 7]
movsx eax, byte [0x1004a017]
cmp edx, eax
jl 0x10003cd2
mov ecx, 3
mov word [ebp - 0xc], cx
imul edx, dword [0x1004a110], 0x6434d5b3
mov byte [0x1004a056], dl
mov eax, dword [0x1004a0e8]
sub eax, 0xcfc5a0fc
mov dword [ebp - 0x54], eax
movzx ecx, word [ebp - 0xc]
mov dword [ebp - 0xd4], ecx
cmp dword [ebp - 0xd4], 3
ja case.default.0x10003c47
mov edx, dword [ebp - 0xd4]
jmp dword [edx*4 + 0x100047c0]
mov eax, dword [ebp - 0x24]
sub eax, 0x270e5d4b
mov dword [ebp - 0x24], eax
jmp case.default.0x10003c47
mov ecx, dword [0x1004a158]
and ecx, 0x791b
mov byte [ebp - 5], cl
jmp case.default.0x10003c47
movzx eax, byte [ebp - 3]
cdq
mov ebx, eax
movzx eax, byte [ebp - 3]
add eax, dword [ebp - 0x1c]
cdq
mov esi, eax
movzx eax, word [ebp - 0x18]
cdq
push edx
push eax
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0x48]
push eax
call fcn.1002e960
add esi, eax
add ebx, esi
mov byte [ebp - 4], bl
mov eax, dword [0x1004a15c]
cdq
add eax, dword [0x1004a0e8]
mov dword [0x1004a15c], eax
jmp case.default.0x10003c47
movzx eax, byte [ebp - 3]
add eax, 0xe161
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov ecx, dword [0x1004a158]
and ecx, dword [ebp - 0x54]
add ecx, dword [0x1004a158]
mov dword [0x1004a158], ecx
jmp 0x10003cf1
mov edx, dword [0x1004a154]
xor eax, eax
mov ecx, 8
imul ecx, ecx, 0x518
mov dword [ecx + 0x1007e0a8], edx
mov dword [ecx + 0x1007e0ac], eax
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x58]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x10003d9f
mov ecx, dword [0x1004a154]
xor edx, edx
mov eax, dword [0x1004a0c0]
mov esi, dword [0x1004a0c4]
mov dword [ebp - 0x220], ecx
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], esi
mov ecx, dword [ebp - 0x220]
cmp ecx, dword [ebp - 0x228]
jne 0x10003d71
mov edx, dword [ebp - 0x21c]
cmp edx, dword [ebp - 0x224]
jne 0x10003d71
mov dword [ebp - 0xd8], 1
jmp 0x10003d7b
mov dword [ebp - 0xd8], 0
cmp dword [0x1004a154], 0x38
jne 0x10003d90
mov dword [ebp - 0xdc], 1
jmp 0x10003d9a
mov dword [ebp - 0xdc], 0
jmp 0x1000425b
movzx ecx, word [0x1004a124]
movsx edx, byte [0x1004a092]
cmp ecx, edx
jl 0x10003dbd
mov dword [ebp - 0xe0], 1
jmp 0x10003dc7
mov dword [ebp - 0xe0], 0
movzx eax, word [0x1004a124]
cmp eax, 0x51
jl 0x10003ddf
mov dword [ebp - 0xe4], 1
jmp 0x10003de9
mov dword [ebp - 0xe4], 0
mov ecx, dword [ebp - 0xe0]
cmp ecx, dword [ebp - 0xe4]
je 0x10003efb
push 0
push 0xb4
push 0
push 0xab
push 0
push 0x5e
push 0
push 0
movsx eax, word [ebp - 0x10]
cdq
push edx
push eax
call fcn.100243a0
add esp, 0x28
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jb 0x10003e35
mov dword [ebp - 0xe8], 1
jmp 0x10003e3f
mov dword [ebp - 0xe8], 0
cmp dword [ebp - 0x28], 0x4c
jb 0x10003e51
mov dword [ebp - 0xec], 1
jmp 0x10003e5b
mov dword [ebp - 0xec], 0
mov edx, dword [ebp - 0xe8]
cmp edx, dword [ebp - 0xec]
jg 0x10003ef9
movzx eax, byte [ebp - 3]
cmp eax, dword [ebp - 0x24]
ja 0x10003e82
mov dword [ebp - 0xf0], 1
jmp 0x10003e8c
mov dword [ebp - 0xf0], 0
movzx ecx, byte [ebp - 3]
cmp ecx, 0x57
jg 0x10003ea1
mov dword [ebp - 0xf4], 1
jmp 0x10003eab
mov dword [ebp - 0xf4], 0
mov edx, dword [ebp - 0xf0]
cmp edx, dword [ebp - 0xf4]
jg 0x10003ef9
movsx eax, byte [ebp - 7]
cdq
mov ecx, dword [0x1004a168]
mov esi, dword [0x1004a16c]
sub ecx, eax
sbb esi, edx
mov dword [0x1004a168], ecx
mov dword [0x1004a16c], esi
mov edx, dword [str.J64_]
add edx, 0xa3b1f2bd
mov eax, dword [0x1004a13c]
adc eax, 0
mov dword [0x1004a0d8], edx
mov dword [0x1004a0dc], eax
jmp 0x10003f24
movzx ecx, byte [ebp - 5]
test ecx, ecx
je 0x10003f24
mov edx, dword [ebp - 0x38]
xor eax, eax
push 0xbfc3
push 0xc65911fe
push eax
push edx
call fcn.1002e960
mov dword [0x1004a188], eax
mov dword [0x1004a18c], edx
mov ecx, dword [ebp - 0x58]
push ecx
lea edx, [ebp - 0x1334]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
add ecx, dword [ebp - 0x5c]
push ecx
call fcn.1002f710
add esp, 0xc
push 0
push 0
push 2
push 0x4f
push 0
push 0
push 0
call fcn.10024c40
add esp, 0x1c
movzx edx, ax
mov dword [0x1004a190], edx
cmp dword [0x1004a190], 0
ja 0x10004229
push 0
push 0
call fcn.10024090
add esp, 8
mov dword [str.J64_], eax
mov dword [0x1004a13c], edx
mov eax, dword [str.J64_]
or eax, dword [0x1004a13c]
je 0x10004128
movzx ecx, byte [ebp - 4]
movzx edx, byte [0x1004a0bb]
cmp ecx, edx
jge 0x10003fb7
movsx eax, byte [str.address_family_not]
sub eax, 0xc0
mov dword [ebp - 0x1c], eax
jmp 0x10004123
movsx ecx, word [ebp - 0x14]
cmp ecx, dword [ebp - 0x38]
je 0x10003fcc
mov dword [ebp - 0xf8], 1
jmp 0x10003fd6
mov dword [ebp - 0xf8], 0
mov edx, dword [0x1004a190]
cmp dword [ebp - 0x1c], edx
je 0x10003fed
mov dword [ebp - 0xfc], 1
jmp 0x10003ff7
mov dword [ebp - 0xfc], 0
mov eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0xfc]
jne 0x10004017
movzx ecx, word [0x1004a0cc]
sub ecx, 0x2e
mov byte [ebp - 4], cl
jmp 0x10004123
movzx eax, byte [ebp - 2]
cdq
mov esi, eax
mov edi, edx
sub esi, dword [ebp - 0x48]
sbb edi, dword [ebp - 0x44]
mov edx, dword [0x1004a104]
xor eax, eax
mov ecx, dword [0x1004a188]
mov ebx, dword [0x1004a18c]
push eax
push edx
push ebx
push ecx
call fcn.1002e960
mov dword [ebp - 0x230], esi
mov dword [ebp - 0x22c], edi
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], edx
mov edx, dword [ebp - 0x22c]
cmp edx, dword [ebp - 0x234]
jb 0x1000409d
ja 0x10004079
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x238]
jb 0x1000409d
mov eax, dword [0x1004a144]
cdq
mov ecx, dword [0x1004a0e0]
mov edx, dword [0x1004a0e4]
mov dword [ebp - 0x2b8], edx
add eax, ecx
mov dword [0x1004a144], eax
jmp 0x10004123
movzx eax, byte [ebp - 4]
movsx ecx, byte [ebp - 1]
cmp eax, ecx
jle 0x100040b5
mov dword [ebp - 0x100], 1
jmp 0x100040bf
mov dword [ebp - 0x100], 0
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
mov dword [ebp - 0x240], edx
mov dword [ebp - 0x23c], eax
mov ecx, dword [ebp - 0x23c]
cmp ecx, dword [ebp - 0x2c]
ja 0x100040fa
jb 0x100040ee
mov edx, dword [ebp - 0x240]
cmp edx, dword [ebp - 0x30]
jae 0x100040fa
mov dword [ebp - 0x104], 1
jmp 0x10004104
mov dword [ebp - 0x104], 0
mov eax, dword [ebp - 0x100]
imul eax, dword [ebp - 0x104]
test eax, eax
je 0x10004123
mov ecx, dword [0x1004ac78]
xor edx, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
jmp 0x10004227
movzx eax, byte [0x1004a06b]
test eax, eax
je 0x1000414d
movsx eax, word [ebp - 0x10]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x48]
movsx eax, word [ebp - 0x10]
cdq
add eax, ecx
mov word [ebp - 0x10], ax
jmp 0x10004227
cmp dword [ebp - 0x1c], 0
je 0x10004168
movzx edx, word [0x1004a150]
imul eax, edx, 0x90e34572
mov dword [ebp - 0x28], eax
jmp 0x10004227
mov ecx, dword [0x1004a0d8]
mov edx, dword [0x1004a0dc]
mov dword [ebp - 0x248], ecx
mov dword [ebp - 0x244], edx
mov eax, dword [ebp - 0x248]
or eax, dword [ebp - 0x244]
je 0x10004227
mov ecx, dword [0x1004a160]
mov edx, dword [0x1004a164]
mov dword [ebp - 0x250], ecx
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x250]
or eax, dword [ebp - 0x24c]
jne 0x100041cc
xor ecx, ecx
mov dword [ebp - 0x14c], 1
mov dword [ebp - 0x148], ecx
jmp 0x100041d7
xorps xmm0, xmm0
movlpd qword [ebp - 0x14c], xmm0
mov edx, dword [str.J64_]
add edx, 0xf1
mov eax, dword [0x1004a13c]
adc eax, 0
push eax
push edx
mov ecx, dword [ebp - 0x148]
push ecx
mov edx, dword [ebp - 0x14c]
push edx
call fcn.1002e960
mov ecx, eax
not ecx
mov esi, dword [ebp - 0x24]
add esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x54]
cdq
sub esi, eax
sub ecx, esi
mov byte [ebp - 1], cl
mov edx, dword [0x1004a190]
add edx, 0x638fbc60
mov dword [0x1004a14c], edx
jmp 0x1000424d
movzx eax, byte [0x1004a0bc]
not eax
test eax, eax
je 0x1000424d
movzx eax, byte [ebp - 5]
cdq
mov ecx, eax
and ecx, dword [0x1004a170]
movzx eax, byte [ebp - 5]
cdq
sub eax, ecx
mov byte [ebp - 5], al
mov edx, dword [ebp - 0x5c]
add edx, dword [ebp - 0x58]
mov dword [ebp - 0x5c], edx
jmp 0x1000330c
movzx eax, byte [ebp - 4]
sub eax, 0x55cd
mov ecx, dword [0x1004a128]
sub ecx, eax
mov dword [0x1004a128], ecx
mov edx, dword [ebp - 0x108]
mov dword [ebp - 0x88], edx
xor eax, eax
jne 0x1000303a
mov ecx, dword [ebp - 0x150]
or ecx, 0x8d
cmp ecx, dword [ebp - 0x154]
je 0x10004602
movzx edx, word [0x1004a0f0]
movzx eax, word [ebp - 0xc]
imul edx, eax
mov word [0x1004a0f0], dx
xor ecx, ecx
mov dword [0x1004a188], 0x21
mov dword [0x1004a18c], ecx
mov ecx, dword [0x1004a188]
mov esi, dword [0x1004a18c]
movzx eax, word [ebp - 0x18]
add eax, 1
cdq
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x254], esi
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], edx
mov edx, dword [ebp - 0x258]
cmp edx, dword [ebp - 0x260]
jne 0x1000446c
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x25c]
jne 0x1000446c
movzx eax, word [ebp - 0x18]
cdq
push 0xba884
push 0xe2261e8a
push edx
push eax
call fcn.1002e960
mov dword [0x1004a0d8], eax
mov dword [0x1004a0dc], edx
cmp dword [0x1004a154], 1
jne 0x1000446c
mov ecx, dword [0x1004a130]
mov edx, dword [0x1004a134]
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x268]
or eax, dword [ebp - 0x264]
jne 0x10004376
mov cx, word [0x1004a170]
mov word [ebp - 0x18], cx
jmp 0x10004391
mov edx, 0x84b6d3db
or edx, 0x3399
je 0x10004391
mov eax, dword [0x1004a154]
add eax, dword [0x1004a0e8]
mov byte [ebp - 6], al
jmp 0x1000446c
xor edx, edx
mov dword [0x1004a188], 0x21
mov dword [0x1004a18c], edx
mov byte [0x1004a06b], 0xb0
movzx eax, byte [0x1004a06b]
movzx ecx, byte [ebp - 2]
add ecx, 1
cmp eax, ecx
jne 0x100044d7
movzx edx, word [0x1004a124]
push edx
call dword [sym.imp.USER32.dll_IsIconic]
mov dword [0x1004a178], eax
cmp dword [0x1004a148], 1
jne 0x100044d7
push 0x1003b580
call dword [sym.imp.KERNEL32.dll_GetDriveTypeA]
mov word [0x1004a100], ax
jmp 0x100044d7
mov byte [0x1004a06b], 0xb0
movzx eax, byte [ebp - 5]
cdq
mov ecx, dword [0x1004a0f8]
mov edx, dword [0x1004a0fc]
mov dword [ebp - 0x2bc], edx
sub eax, ecx
mov word [ebp - 0x68], ax
movzx eax, byte [ebp - 2]
add eax, 0xdc
mov ecx, dword [ebp - 0x1c]
sub ecx, eax
mov dword [ebp - 0x1c], ecx
cmp dword [ebp - 0x60], 0
je 0x10004602
mov edx, dword [0x1004a0c0]
mov eax, dword [0x1004a0c4]
mov dword [ebp - 0x278], edx
mov dword [ebp - 0x274], eax
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x278]
jne 0x1000454f
mov edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 0x274]
jne 0x1000454f
mov dword [ebp - 0x114], 1
jmp 0x10004559
mov dword [ebp - 0x114], 0
movzx eax, byte [ebp - 2]
mov ecx, 0x79eda610
sub ecx, eax
cmp dword [ebp - 0x114], ecx
jle 0x100045f0
mov edx, dword [0x1004a190]
xor eax, eax
mov ecx, dword [0x1004a0f8]
mov esi, dword [0x1004a0fc]
push esi
push ecx
push eax
push edx
call fcn.1002e960
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], edx
mov edx, dword [ebp - 0x280]
or edx, dword [ebp - 0x27c]
je 0x100045db
movzx eax, byte [0x1004a056]
cdq
xor eax, 0xd53cb706
xor edx, 0xcba39
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov eax, dword [0x1004a168]
mov ecx, dword [0x1004a16c]
push 0
push 0x59
push ecx
push eax
call fcn.1002e960
mov dword [ebp - 0x38], eax
jmp 0x100045f0
mov edx, 2
imul eax, edx, 0x25
movsx ecx, word [eax + 0x1025d5b0]
mov dword [0x1004a190], ecx
mov edx, dword [ebp - 0x60]
push edx
push 0
push 0
call fcn.10001200
add esp, 8
call eax
cmp dword [ebp - 0x64], 0
je 0x1000461a
mov eax, dword [ebp - 0x64]
push eax
push 0
push 0
call fcn.10001200
add esp, 8
call eax
mov ecx, 0xa8e1
mov word [0x1004a0cc], cx
movzx edx, word [0x1004a0cc]
movsx eax, byte [ebp - 6]
add eax, 0xa8e1
cmp edx, eax
jne 0x1000473c
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
movzx eax, word [ebp - 0x18]
add eax, 0xe0
cdq
mov dword [ebp - 0x288], ecx
mov dword [ebp - 0x284], esi
mov dword [ebp - 0x290], eax
mov dword [ebp - 0x28c], edx
mov edx, dword [ebp - 0x288]
cmp edx, dword [ebp - 0x290]
jne 0x1000473c
mov eax, dword [ebp - 0x284]
cmp eax, dword [ebp - 0x28c]
jne 0x1000473c
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x2c]
je 0x100046b4
mov eax, dword [ebp - 0x1c]
cdq
add eax, 0xf9b9d489
adc edx, 0xcde34
mov dword [0x1004a170], eax
mov dword [0x1004a174], edx
jmp 0x1000471a
mov edx, dword [0x1004a158]
xor eax, eax
push eax
push edx
mov ecx, dword [0x1004a10c]
push ecx
mov edx, dword [0x1004a108]
push edx
call fcn.1002e960
mov ecx, dword [0x1004a108]
sub ecx, eax
mov eax, dword [0x1004a10c]
sbb eax, edx
mov dword [0x1004a108], ecx
mov dword [0x1004a10c], eax
movsx eax, byte [ebp - 7]
cdq
mov ecx, dword [0x1004a130]
mov esi, dword [0x1004a134]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1004a130]
mov eax, dword [0x1004a134]
and edx, ecx
and eax, esi
mov dword [0x1004a130], edx
mov dword [0x1004a134], eax
jmp 0x1000473c
mov ecx, 0xa8e1
mov word [0x1004a0cc], cx
mov edx, 0xd85da
mov dword [0x1004a118], 0xaf53429c
mov dword [0x1004a11c], edx
movsx eax, word [ebp - 0x10]
cdq
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x294], edx
mov eax, dword [ebp - 0x294]
cmp eax, dword [0x1004a174]
jg 0x1000479e
jl 0x1000478c
mov ecx, dword [ebp - 0x298]
cmp ecx, dword [0x1004a170]
ja 0x1000479e
mov edx, dword [0x1004a144]
and edx, 0x926e
mov byte [0x1004a092], dl
mov eax, dword [ebp - 0x88]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret