Function at 0x100a0e40
Capabilities:
Accept command line arguments

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ae580
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x144
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x118], 0xa27314e4
mov byte [ebp - 0x13], 0x2a
mov eax, dword [0x100d3318]
mov dword [ebp - 0xe0], eax
xor ecx, ecx
mov dword [ebp - 0xf0], 0x1e27e312
mov dword [ebp - 0xec], ecx
xor edx, edx
mov dword [ebp - 0x74], 0x3d489e04
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x3c], 0x22
mov eax, 0x829c
mov word [ebp - 0x20], ax
xor ecx, ecx
mov dword [ebp - 0x44], 0xec
mov dword [ebp - 0x40], ecx
mov edx, 0xdb31d
mov dword [ebp - 0xc4], 0xfdfec062
mov dword [ebp - 0xc0], edx
movsx ax, byte [str.OReserved.PlatformS]
mov word [ebp - 0x18], ax
mov ecx, dword [0x100d32e0]
mov dword [ebp - 0x60], ecx
mov edx, 0xc1c5
mov word [ebp - 0x24], dx
xor eax, eax
mov dword [ebp - 0x5c], 0xca00
mov dword [ebp - 0x58], eax
mov cl, byte [0x100d32e0]
mov byte [ebp - 0x35], cl
mov byte [ebp - 0x19], 0x17
mov edx, 0xf991
mov word [ebp - 0x30], dx
mov eax, dword [0x100d32d8]
mov ecx, dword [0x100d32dc]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xb8], ecx
mov dx, word [0x100d32f0]
mov word [ebp - 0x6c], dx
mov eax, dword [0x100d3308]
mov ecx, dword [0x100d330c]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], ecx
mov dx, word [0x100d32cc]
mov word [ebp - 0x34], dx
mov al, byte [0x100d32f4]
mov byte [ebp - 0x11], al
movsx eax, byte [0x100d31ef]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, word [0x100d32bc]
cdq
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edx
xor ecx, ecx
mov dword [ebp - 0x4c], 0xe3e2da46
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x80], 0xe5e42b6d
mov edx, dword [0x100d32ec]
mov byte [ebp - 0x12], dl
mov eax, 0xffffcbfe
mov word [ebp - 0xdc], ax
mov dword [ebp - 0x11c], 0xf0aa1a12
mov dword [ebp - 0x120], 0x87
movzx ecx, word [0x100d3304]
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x128], 0x7a8c2a09
xor edx, edx
mov dword [ebp - 0x13c], 8
mov dword [ebp - 0x138], edx
movsx eax, word [0x100d32f0]
mov dword [ebp - 0x12c], eax
mov byte [ebp - 0x61], 0xbd
xor ecx, ecx
mov dword [ebp - 0x144], 0x88b2
mov dword [ebp - 0x140], ecx
mov byte [ebp - 0x62], 0xa4
xor edx, edx
mov dword [ebp - 0x14c], 0x917f9afc
mov dword [ebp - 0x148], edx
mov al, byte [0x100d32bc]
mov byte [ebp - 0x63], al
xor ecx, ecx
mov dword [ebp - 0x154], 0x31ad130c
mov dword [ebp - 0x150], ecx
mov dl, byte [0x100d32d0]
mov byte [ebp - 0x64], dl
mov eax, 0xffffc073
mov word [ebp - 0xd8], ax
mov dword [ebp - 0x104], 0xf92
mov cl, byte [0x100d32bc]
mov byte [ebp - 0x65], cl
mov dl, byte [0x100d3320]
mov byte [ebp - 0x66], dl
call dword [sym.imp.KERNEL32.dll_GetCommandLineA]
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movsx edx, byte [0x100d3266]
test edx, edx
je 0x100a1349
xor eax, eax
mov dword [0x100d3330], 1
mov dword [0x100d3334], eax
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x100a10a8
xor edx, edx
mov dword [ebp - 0xcc], 1
mov dword [ebp - 0xc8], edx
jmp 0x100a10b3
xorps xmm0, xmm0
movlpd qword [ebp - 0xcc], xmm0
mov eax, dword [0x100d32c8]
not eax
cdq
xor eax, 0x53069812
xor edx, 0x28465
xor eax, dword [ebp - 0xcc]
xor edx, dword [ebp - 0xc8]
mov dword [ebp - 0xe8], eax
mov dword [ebp - 0xe4], edx
mov eax, dword [ebp - 0xe8]
or eax, dword [ebp - 0xe4]
jne 0x100a10f8
mov dword [ebp - 0xa8], 1
jmp 0x100a1102
mov dword [ebp - 0xa8], 0
movsx ecx, word [0x100d32f0]
test ecx, ecx
jne 0x100a1119
mov dword [ebp - 0xa0], 1
jmp 0x100a1123
mov dword [ebp - 0xa0], 0
movsx edx, byte [0x100d3216]
test edx, edx
jne 0x100a113a
mov dword [ebp - 0xa4], 1
jmp 0x100a1144
mov dword [ebp - 0xa4], 0
movsx eax, byte [ebp - 0x13]
mov ecx, dword [ebp - 0xa0]
sub ecx, eax
not ecx
mov edx, dword [ebp - 0xa4]
sub edx, dword [ebp - 0x80]
sub ecx, edx
mov eax, dword [ebp - 0xa8]
sub eax, ecx
cdq
mov dword [0x100d32c0], eax
mov dword [0x100d32c4], edx
mov eax, dword [ebp - 0x4c]
sub eax, 1
mov ecx, dword [ebp - 0x48]
sbb ecx, 0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
xor edx, edx
mov dword [0x100d3318], 0xbe34
mov dword [0x100d331c], edx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0xc4]
mov edx, dword [ebp - 0xc0]
mov dword [ebp - 0x108], edx
add eax, ecx
mov byte [ebp - 0x11], al
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100d32f8]
mov esi, dword [0x100d32fc]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d32f8], eax
mov dword [0x100d32fc], edx
movsx edx, word [0x100d3338]
imul edx, dword [0x100d3328]
movsx eax, word [0x100d3338]
sub eax, edx
mov word [0x100d3338], ax
mov ecx, dword [0x100d3330]
mov edx, dword [0x100d3334]
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xb0], edx
mov eax, dword [ebp - 0xb4]
or eax, dword [ebp - 0xb0]
je 0x100a1234
cmp dword [ebp - 0xb4], 1
jne 0x100a122f
cmp dword [ebp - 0xb0], 0
je 0x100a12b0
jmp 0x100a1344
mov ecx, 0x8d8d
mov word [0x100d3304], cx
movsx edx, byte [0x100d3216]
imul eax, edx, 0xaa59
mov word [ebp - 0x20], ax
movsx ecx, word [ebp - 0x34]
imul eax, ecx, 0xdd
cdq
mov ecx, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], esi
movzx edx, word [ebp - 0x20]
add edx, 0x52c33f51
mov byte [ebp - 0x12], dl
xor eax, eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x3c]
sbb edx, eax
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub eax, ecx
sbb esi, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], esi
mov ecx, dword [0x100d3328]
and ecx, 0x6f1d1db0
mov edx, dword [ebp - 0x3c]
imul edx, ecx
mov dword [ebp - 0x3c], edx
jmp 0x100a1344
mov ax, word [ebp - 0x60]
mov word [0x100d32bc], ax
movsx cx, byte [0x100d31ef]
mov word [0x100d32bc], cx
movsx edx, word [ebp - 0x34]
imul eax, edx, 0x6a
cdq
push edx
push eax
mov eax, dword [0x100d32dc]
push eax
mov ecx, dword [0x100d32d8]
push ecx
call fcn.100a25b0
mov dword [0x100d32d8], eax
mov dword [0x100d32dc], edx
mov edx, dword [ebp - 0xf0]
or edx, dword [ebp - 0xec]
jne 0x100a130a
mov dword [ebp - 0xac], 1
jmp 0x100a1314
mov dword [ebp - 0xac], 0
movzx eax, word [0x100d32cc]
sub eax, dword [ebp - 0xac]
cdq
mov dword [0x100d3318], eax
mov dword [0x100d331c], edx
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
push esi
push edx
push ecx
push eax
call fcn.100a25b0
mov dword [ebp - 0x3c], eax
jmp 0x100a13f7
cmp dword [ebp - 0x3c], 0
je 0x100a1369
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xd0], ecx
jmp 0x100a1380
mov edx, dword [0x100d3308]
mov eax, dword [0x100d330c]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0xd0], eax
mov cx, word [ebp - 0xd4]
mov word [ebp - 0x24], cx
mov dx, word [0x100d3338]
mov word [ebp - 0x18], dx
movzx eax, byte [ebp - 0x12]
cdq
add eax, dword [0x100d32c0]
adc edx, dword [0x100d32c4]
mov dword [0x100d32c0], eax
mov dword [0x100d32c4], edx
movsx eax, word [ebp - 0x18]
and eax, dword [ebp - 0x60]
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0x3c]
xor edx, edx
xor ecx, dword [0x100d3308]
xor edx, dword [0x100d330c]
mov dword [0x100d3308], ecx
mov dword [0x100d330c], edx
movsx eax, byte [0x100d31ef]
add eax, dword [ebp - 0xe0]
movsx ecx, byte [0x100d31ef]
imul ecx, eax
mov byte [0x100d31ef], cl
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0xf4], edx
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xb8]
jg 0x100a142f
jl 0x100a1426
mov eax, dword [ebp - 0xf8]
cmp eax, dword [ebp - 0xbc]
ja 0x100a142f
mov dword [ebp - 0x78], 1
jmp 0x100a1436
mov dword [ebp - 0x78], 0
movsx ecx, byte [ebp - 0x13]
cmp ecx, 0x21
jg 0x100a1448
mov dword [ebp - 0x7c], 1
jmp 0x100a144f
mov dword [ebp - 0x7c], 0
mov edx, dword [ebp - 0x78]
cmp edx, dword [ebp - 0x7c]
jne 0x100a14cc
movsx eax, byte [0x100d3216]
movsx ecx, word [0x100d32f4]
xor eax, ecx
movsx edx, byte [0x100d3216]
add edx, eax
mov byte [0x100d3216], dl
mov eax, 2
mov word [ebp - 0x24], ax
movzx eax, word [ebp - 0x30]
not eax
movzx ecx, word [ebp - 0x20]
not ecx
movzx edx, word [0x100d3310]
sub ecx, edx
sub eax, ecx
cdq
mov dword [0x100d32f8], eax
mov dword [0x100d32fc], edx
mov eax, dword [ebp - 0x4c]
sub eax, 1
mov ecx, dword [ebp - 0x48]
sbb ecx, 0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movzx edx, byte [ebp - 0x19]
sub edx, 0x63e3997f
xor eax, eax
or edx, dword [ebp - 0x2c]
or eax, dword [ebp - 0x28]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
movzx eax, word [ebp - 0x30]
cdq
push edx
push eax
push 0
push 0x78
push 0
push 0x7f
movzx eax, word [ebp - 0x24]
cdq
push edx
push eax
push 0
push 0
call fcn.100a1a10
add esp, 0x28
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx ecx, byte [str.OReserved.PlatformS]
test ecx, ecx
jne 0x100a1643
mov dword [ebp - 4], 0
movsx edx, byte [0x100d3266]
test edx, edx
jne 0x100a1521
mov dword [ebp - 0x84], 1
jmp 0x100a152b
mov dword [ebp - 0x84], 0
movsx eax, word [ebp - 0x18]
movzx ecx, byte [ebp - 0x12]
add ecx, dword [ebp - 0x80]
add ecx, dword [ebp - 0x84]
imul eax, ecx
mov word [ebp - 0x18], ax
movsx edx, word [ebp - 0x18]
imul edx, dword [0x100d3328]
xor eax, eax
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x2c]
not ecx
mov word [ebp - 0x24], cx
movsx eax, word [0x100d32f4]
sub eax, 0x89ff
cdq
mov dword [0x100d32d8], eax
mov dword [0x100d32dc], edx
movzx eax, word [0x100d32d0]
cdq
mov ecx, dword [0x100d3330]
sub ecx, eax
mov eax, dword [0x100d3334]
sbb eax, edx
mov dword [0x100d3330], ecx
mov dword [0x100d3334], eax
jmp 0x100a162e
mov dword [ebp - 4], 0xffffffff
jmp 0x100a163e
jmp 0x100a1702
movzx eax, word [ebp - 0x30]
not eax
cmp eax, dword [0x100d3328]
jbe 0x100a165d
mov dword [ebp - 0x8c], 1
jmp 0x100a1667
mov dword [ebp - 0x8c], 0
movzx ecx, word [0x100d32d0]
movzx edx, byte [ebp - 0x12]
cmp ecx, edx
jge 0x100a1682
mov dword [ebp - 0x90], 1
jmp 0x100a168c
mov dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x8c]
cmp eax, dword [ebp - 0x90]
jg 0x100a1702
mov ecx, 8
imul edx, ecx, 0x1f4
mov eax, dword [0x100d32c0]
mov ecx, dword [0x100d32c4]
mov dword [edx + 0x104061c8], eax
mov dword [edx + 0x104061cc], ecx
mov dword [0x100d32c8], 4
movsx eax, word [ebp - 0x34]
xor eax, 0x1f
cdq
and eax, dword [ebp - 0x2c]
and edx, dword [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
movzx eax, byte [0x100d31c6]
cdq
add eax, 0x75129c3e
mov byte [str.OReserved.PlatformS], al
movzx eax, word [ebp - 0x6c]
cdq
add eax, 0xb3a678b4
adc edx, 0x7403c
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
movsx edx, byte [ebp - 0x13]
imul eax, edx, 0x67f19d46
cdq
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
movzx eax, word [0x100d32cc]
sub eax, 0xb0
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx edx, word [0x100d3310]
imul edx, dword [0x100d3328]
mov word [0x100d3310], dx
movsx eax, word [ebp - 0x18]
shl eax, 2
cdq
mov dword [0x100d3308], eax
mov dword [0x100d330c], edx
mov byte [ebp - 0x11], 4
mov eax, dword [0x100d32f8]
mov ecx, dword [0x100d32fc]
mov dword [ebp - 0x110], ecx
add eax, 0x258ccd7c
mov edx, dword [0x100d32ec]
sub edx, eax
mov dword [0x100d32ec], edx
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x48]
je 0x100a180a
movsx ecx, word [0x100d32f4]
imul edx, ecx, 0x536b28bc
mov byte [str.OReserved.PlatformS], dl
imul eax, dword [ebp - 0x60], 0x54
cdq
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], edx
movzx eax, byte [ebp - 0x19]
mov ecx, dword [0x100d3328]
imul ecx, eax
mov edx, dword [0x100d3328]
imul edx, ecx
mov dword [0x100d3328], edx
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x114], ecx
sub eax, 0x7529c75a
mov byte [0x100d3216], al
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov ecx, dword [0x100d3324]
push ecx
mov ecx, dword [0x100d3320]
push ecx
push eax
push edx
call fcn.100a25b0
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
jmp 0x100a1876
mov edx, dword [ebp - 0x2c]
sub edx, 0x92
mov word [ebp - 0x20], dx
mov al, byte [0x100d32c0]
mov byte [ebp - 0x35], al
movsx eax, word [ebp - 0x34]
cdq
add eax, dword [0x100d3330]
mov word [0x100d3338], ax
movsx eax, byte [0x100d31c7]
cdq
add eax, dword [ebp - 0x2c]
adc edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x2c]
sub ecx, eax
mov eax, dword [ebp - 0x28]
sbb eax, edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], eax
mov cl, byte [0x10339c08]
mov byte [0x100d31c7], cl
mov edx, dword [0x100d32e0]
sub edx, 0xfb1fcb18
mov eax, dword [0x100d32e4]
sbb eax, 0xdca55
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], eax
mov ecx, dword [0x100d3318]
add ecx, 1
mov edx, dword [0x100d331c]
adc edx, 0
mov dword [0x100d3318], ecx
mov dword [0x100d331c], edx
cmp dword [0x100d32ec], 0
jne 0x100a18a9
mov dword [ebp - 0x94], 1
jmp 0x100a18b3
mov dword [ebp - 0x94], 0
movsx eax, byte [0x100d31c7]
mov ecx, dword [0x100d3300]
add ecx, eax
mov edx, dword [ebp - 0x94]
sub edx, ecx
not edx
imul edx, dword [ebp - 0x60]
mov word [0x100d32cc], dx
movsx eax, word [0x100d3338]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, word [0x100d3338]
cdq
sub eax, ecx
mov word [0x100d3338], ax
mov dx, word [0x10339c08]
mov word [0x100d32bc], dx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x58]
not eax
not ecx
push 0
push 0xc4387148
push ecx
push eax
call fcn.100a25b0
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], edx
mov edx, dword [ebp - 0x100]
or edx, dword [ebp - 0xfc]
jne 0x100a194c
mov dword [ebp - 0x98], 1
jmp 0x100a1956
mov dword [ebp - 0x98], 0
movzx eax, byte [ebp - 0x19]
movzx ecx, word [ebp - 0x24]
add eax, ecx
jne 0x100a196e
mov dword [ebp - 0x9c], 1
jmp 0x100a1978
mov dword [ebp - 0x9c], 0
mov eax, dword [ebp - 0x98]
sub eax, dword [ebp - 0x9c]
cdq
mov esi, eax
movzx eax, word [0x100d32d0]
cdq
mov ecx, dword [0x100d32dc]
push ecx
mov ecx, dword [0x100d32d8]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov edi, edx
movzx eax, word [0x100d3304]
xor eax, 0x3836
cdq
push edx
push eax
push edi
push ecx
call fcn.100a25b0
add esi, eax
mov word [0x100d32cc], si
mov edx, dword [0x100d32ec]
not edx
xor eax, eax
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x58]
not ecx
not esi
xor edi, edi
add ecx, dword [0x100d32ec]
adc esi, edi
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov word [0x100d32f4], ax
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret