Function at 0x1008320
Capabilities:
Terminate process

Disassembly:
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x1001180
call dword [sym.imp.msvcrt.dll_fputs]
add esp, 8
test eax, eax
jle 0x10061a3
push 0xd
call dword [sym.imp.msvcrt.dll_exit]
push 0xffffffffffffffff
call dword [sym.imp.msvcrt.dll_exit]
int3
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x80
xor eax, eax
push ebx
xor ebx, ebx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 8]
cmp eax, 2
push esi
push edi
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x18], 0xffffffff
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x24], ebx
mov byte [ebp - 1], bl
mov dword [ebp - 0x10], ebx
jne 0x10083db
mov eax, dword [edi + 4]
mov ecx, 0x1006008
jmp 0x1008390
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x10083b6
cmp dx, bx
je 0x10083b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x10083b6
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1008390
xor eax, eax
jmp 0x10083bb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x10083e4
push 0xa
push ebx
push 2
push 0x1005950
call dword [sym.imp.msvcrt.dll_printf]
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 1
jle 0x100924e
sub dword [ebp + 8], 1
mov edx, dword [edi + 4]
add edi, 4
mov eax, edx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x10083f3
sub eax, esi
sar eax, 1
cmp eax, 2
jne case.default.0x100925d
cmp word [edx], 0x2d
jne case.default.0x100925d
movzx eax, word [edx + 2]
movzx ecx, ax
add ecx, 0xffffffbc
cmp ecx, 0x35
ja case.default.0x100925d
movzx ecx, byte [ecx + 0x1009768]
jmp dword [ecx*4 + 0x100971c]
cmp dword [ebp - 0xc], ebx
jne case.default.0x100925d
mov dword [ebp - 0xc], 1
jmp 0x1009244
cmp dword [ebp - 0xc], ebx
jne case.default.0x100925d
cmp ax, 0x44
mov dword [ebp - 0xc], 2
mov ecx, 1
jne 0x1008469
mov dword [ebp - 0x30], ecx
cmp ax, 0x52
jne 0x1009244
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x3c], ecx
jmp 0x1009244
cmp dword [ebp - 0xc], ebx
jne case.default.0x100925d
mov dword [ebp - 0xc], 3
jmp 0x1009244
cmp dword [ebp - 0xc], ebx
jne case.default.0x100925d
mov dword [ebp - 0xc], 4
jmp 0x1009244
mov edx, dword [ebp - 8]
and edx, 0xf00
neg edx
sbb edx, edx
xor eax, eax
neg edx
cmp dword [ebp - 0xc], 1
setne al
xor ecx, ecx
or edx, eax
cmp dword [ebp + 8], 2
setl cl
or edx, ecx
jne case.default.0x100925d
mov esi, dword [edi + 4]
mov ecx, 0x1005940
mov eax, esi
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1008506
cmp dx, bx
je 0x1008502
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1008506
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x10084e0
xor eax, eax
jmp 0x100850b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x100851f
or dword [ebp - 8], 0x100
sub dword [ebp + 8], 1
jmp 0x1009241
mov ecx, 0x1005938
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100854c
cmp dx, bx
je 0x1008548
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100854c
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1008526
xor eax, eax
jmp 0x1008551
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x1008565
or dword [ebp - 8], 0x200
sub dword [ebp + 8], 1
jmp 0x1009241
mov ecx, 0x100592c
mov eax, esi
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1008596
cmp dx, bx
je 0x1008592
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1008596
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1008570
xor eax, eax
jmp 0x100859b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne case.default.0x100925d
or dword [ebp - 8], 0x300
sub dword [ebp + 8], 1
jmp 0x1009241
mov dword [ebp - 0x34], 1
jmp 0x1009244
mov esi, dword [ebp - 0xc]
xor edx, edx
cmp esi, 4
setne dl
xor eax, eax
cmp esi, 1
setne al
xor ecx, ecx
and edx, eax
cmp dword [ebp + 8], 2
setl cl
or edx, ecx
jne case.default.0x100925d
mov edx, dword [edi + 4]
push 0x1005928
push edx
call dword [sym.imp.msvcrt.dll_wcstok]
add esp, 8
cmp eax, ebx
je 0x1008bde
nop
mov edx, 0x1005920
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x100862d
cmp si, bx
je 0x1008629
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x100862d
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008607
xor ecx, ecx
jmp 0x1008632
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008650
test byte [ebp - 0x10], 1
jne case.default.0x100925d
mov eax, 1
or dword [ebp - 0x10], eax
or dword [ebp - 8], eax
jmp 0x1008bc7
mov edx, 0x1005918
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x100867d
cmp si, bx
je 0x1008679
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x100867d
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008657
xor ecx, ecx
jmp 0x1008682
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x100869d
test byte [ebp - 0x10], 1
jne case.default.0x100925d
or dword [ebp - 0x10], 1
and dword [ebp - 8], 0xfffffffe
jmp 0x1008bc7
mov edx, 0x1005908
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x10086ca
cmp si, bx
je 0x10086c6
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10086ca
add ecx, 4
add edx, 4
cmp si, bx
jne 0x10086a4
xor ecx, ecx
jmp 0x10086cf
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x10086e3
mov eax, 4
or dword [ebp - 0x10], eax
or dword [ebp - 8], eax
jmp 0x1008bc7
mov edx, 0x1005900
mov ecx, eax
lea ebx, [ebx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008716
cmp si, bx
je 0x1008712
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008716
add ecx, 4
add edx, 4
cmp si, bx
jne 0x10086f0
xor ecx, ecx
jmp 0x100871b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008739
test byte [ebp - 0x10], 2
jne case.default.0x100925d
mov eax, 2
or dword [ebp - 0x10], eax
or dword [ebp - 8], eax
jmp 0x1008bc7
mov edx, 0x10058f8
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008766
cmp si, bx
je 0x1008762
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008766
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008740
xor ecx, ecx
jmp 0x100876b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008786
test byte [ebp - 0x10], 2
jne case.default.0x100925d
or dword [ebp - 0x10], 2
and dword [ebp - 8], 0xfffffffd
jmp 0x1008bc7
mov edx, 0x10058ec
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x10087b6
cmp si, bx
je 0x10087b2
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10087b6
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008790
xor ecx, ecx
jmp 0x10087bb
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x10087dc
cmp dword [ebp - 0xc], 4
jne case.default.0x100925d
or dword [ebp - 0x10], 0x10000
and dword [ebp - 8], 0xfffeffff
jmp 0x1008bc7
cmp dword [ebp - 0xc], 1
jne case.default.0x100925d
mov edx, 0x10058e4
mov ecx, eax
lea ecx, [ecx]
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008816
cmp si, bx
je 0x1008812
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008816
add ecx, 4
add edx, 4
cmp si, bx
jne 0x10087f0
xor ecx, ecx
jmp 0x100881b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008862
mov eax, dword [ebp - 8]
mov ecx, eax
and ecx, 0xf000
neg ecx
sbb ecx, ecx
mov edx, eax
xor eax, eax
and edx, 0xf00
neg ecx
cmp edx, 0x300
setne al
or ecx, eax
mov eax, dword [ebp - 8]
jne case.default.0x100925d
or eax, 0x2000
mov dword [ebp - 0x20], 1
mov dword [ebp - 8], eax
jmp 0x1008bc7
mov edx, 0x10058d8
mov ecx, eax
lea esp, [esp]
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008896
cmp si, bx
je 0x1008892
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008896
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008870
xor ecx, ecx
jmp 0x100889b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x10088e2
mov eax, dword [ebp - 8]
mov ecx, eax
and ecx, 0xf000
neg ecx
sbb ecx, ecx
mov edx, eax
xor eax, eax
and edx, 0xf00
neg ecx
cmp edx, 0x300
setne al
or ecx, eax
mov eax, dword [ebp - 8]
jne case.default.0x100925d
or eax, 0x1000
mov dword [ebp - 0x20], 1
mov dword [ebp - 8], eax
jmp 0x1008bc7
mov edx, 0x10058d0
mov ecx, eax
lea esp, [esp]
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008916
cmp si, bx
je 0x1008912
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008916
add ecx, 4
add edx, 4
cmp si, bx
jne 0x10088f0
xor ecx, ecx
jmp 0x100891b
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x100895b
mov eax, dword [ebp - 8]
mov ecx, eax
and ecx, 0xf000
neg ecx
sbb ecx, ecx
mov edx, eax
xor eax, eax
and edx, 0xf00
neg ecx
cmp edx, 0x300
setne al
or ecx, eax
mov eax, dword [ebp - 8]
jne case.default.0x100925d
or eax, 0x3000
mov dword [ebp - 8], eax
jmp 0x1008bc7
mov edx, 0x10058c8
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008988
cmp si, bx
je 0x1008984
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008988
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008962
xor ecx, ecx
jmp 0x100898d
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x10089ce
mov eax, dword [ebp - 8]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 8]
setne dl
and eax, 0xf000
and ecx, edx
neg eax
sbb eax, eax
neg eax
or ecx, eax
jne case.default.0x100925d
or dword [ebp - 8], 0x1100
jmp 0x1008bc7
mov edx, 0x10058c0
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x10089fb
cmp si, bx
je 0x10089f7
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x10089fb
add ecx, 4
add edx, 4
cmp si, bx
jne 0x10089d5
xor ecx, ecx
jmp 0x1008a00
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008a41
mov eax, dword [ebp - 8]
and eax, 0xf00
xor ecx, ecx
cmp eax, 0x100
setne cl
xor edx, edx
cmp eax, ebx
mov eax, dword [ebp - 8]
setne dl
and eax, 0xf000
and ecx, edx
neg eax
sbb eax, eax
neg eax
or ecx, eax
jne case.default.0x100925d
or dword [ebp - 8], 0x2100
jmp 0x1008bc7
mov edx, 0x10058b4
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008a6e
cmp si, bx
je 0x1008a6a
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008a6e
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008a48
xor ecx, ecx
jmp 0x1008a73
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008a80
or dword [ebp - 8], 8
jmp 0x1008bc7
mov edx, 0x10058a4
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008aad
cmp si, bx
je 0x1008aa9
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008aad
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008a87
xor ecx, ecx
jmp 0x1008ab2
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008ac2
or dword [ebp - 8], 0x40000
jmp 0x1008bc7
test byte [ebp - 8], 0xf0
jne case.default.0x100925d
mov edx, 0x100589c
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008af9
cmp si, bx
je 0x1008af5
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008af9
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008ad3
xor ecx, ecx
jmp 0x1008afe
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008b0b
or dword [ebp - 8], 0x10
jmp 0x1008bc7
mov edx, 0x1005894
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008b38
cmp si, bx
je 0x1008b34
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008b38
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008b12
xor ecx, ecx
jmp 0x1008b3d
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008b4a
or dword [ebp - 8], 0x20
jmp 0x1008bc7
mov edx, 0x100588c
mov ecx, eax
mov si, word [ecx]
cmp si, word [edx]
jne 0x1008b77
cmp si, bx
je 0x1008b73
mov si, word [ecx + 2]
cmp si, word [edx + 2]
jne 0x1008b77
add ecx, 4
add edx, 4
cmp si, bx
jne 0x1008b51
xor ecx, ecx
jmp 0x1008b7c
sbb ecx, ecx
sbb ecx, 0xffffffff
cmp ecx, ebx
jne 0x1008b86
or dword [ebp - 8], 0x30
jmp 0x1008bc7
mov ecx, 0x1005884
jmp 0x1008b90
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1008bb6
cmp dx, bx
je 0x1008bb2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1008bb6
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1008b90
xor eax, eax
jmp 0x1008bbb
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne case.default.0x100925d
or dword [ebp - 8], 0x40
push 0x1005928
push ebx
call dword [sym.imp.msvcrt.dll_wcstok]
add esp, 8
cmp eax, ebx
jne 0x1008600
sub dword [ebp + 8], 1
jmp 0x1009241
xor ecx, ecx
cmp dword [ebp - 0x1c], ebx
setne cl
xor edx, edx
cmp dword [ebp - 0xc], 1
setne dl
or ecx, edx
xor edx, edx
cmp dword [ebp + 8], 2
setl dl
or ecx, edx
jne case.default.0x100925d
cmp ax, 0x46
jne 0x1008c18
mov dword [ebp - 0x20], 1
mov eax, dword [edi + 4]
sub dword [ebp + 8], 1
mov dword [ebp - 0x1c], eax
jmp 0x1009241
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
je 0x1008c36
mov eax, 1
jmp 0x1008c38
xor eax, eax
mov esi, dword [ebp - 0xc]
xor ecx, ecx
cmp esi, 4
setne cl
xor edx, edx
cmp esi, 1
setne dl
and ecx, edx
xor edx, edx
cmp dword [ebp + 8], 2
setl dl
or ecx, edx
or ecx, eax
jne case.default.0x100925d
mov edx, dword [edi + 4]
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x60]
push ecx
push 0x1005874
push edx
mov dword [ebp - 0x38], ebx
call dword [sym.imp.msvcrt.dll_swscanf]
mov ecx, dword [ebp - 0x38]
movzx eax, cx
add esp, 0x10
cmp eax, 0x74
ja case.0x1008c93.1
movzx eax, byte [eax + 0x10097d0]
jmp dword [eax*4 + 0x10097a0]
mov eax, dword [ebp - 0x5c]
cmp eax, ebx
mov edx, dword [ebp - 0x60]
jg 0x1008cb1
jl 0x1008caa
cmp edx, ebx
ja 0x1008cb1
mov ecx, 1
jmp 0x1008cb3
xor ecx, ecx
cmp eax, ebx
jl 0x1008cc5
jg 0x1008cbe
cmp edx, 0x64
jb 0x1008cc5
mov eax, 1
jmp 0x1008cc7
xor eax, eax
or ecx, eax
jne case.default.0x100925d
lea ecx, [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x74]
push edx
push eax
push ebx
push ecx
call fcn.01009a80
push ebx
push 0x64
push edx
push eax
call fcn.010099d0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1008e31
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
mov edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1008e31
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
mov edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1008e31
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
mov edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1008e31
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
shld ecx, eax, 0xa
shl eax, 0xa
mov edx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1008e31
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
shld edx, eax, 9
shl eax, 9
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x60], eax
jmp 0x1008e31
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
jmp 0x1008e16
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
jmp 0x1008e16
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
jmp 0x1008e16
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1008e31
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x60]
cmp edx, ebx
jg 0x1008e5f
jl 0x1008e3b
cmp eax, ebx
jae 0x1008e5f
lea ecx, [ebp - 0x80]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatus]
mov eax, dword [ebp - 0x74]
add dword [ebp - 0x60], eax
adc dword [ebp - 0x5c], ebx
js 0x1009264
jg 0x1008e5f
cmp dword [ebp - 0x60], ebx
jb 0x1009264
sub dword [ebp + 8], 1
jmp 0x1009241
xor edx, edx
cmp dword [ebp - 0x4c], ebx
mov esi, 1
setne dl
xor eax, eax
cmp dword [ebp - 0xc], esi
setne al
xor ecx, ecx
or edx, eax
cmp dword [ebp + 8], 2
setl cl
or edx, ecx
jne case.default.0x100925d
mov edx, dword [edi + 4]
movzx eax, word [edx]
push 4
push eax
call dword [sym.imp.msvcrt.dll_iswctype]
add esp, 8
test eax, eax
je case.default.0x100925d
mov ecx, dword [edi + 4]
push ebx
push ebx
push ecx
call dword [sym.imp.msvcrt.dll_wcstoul]
add esp, 0xc
mov dword [ebp - 0x4c], eax
jmp 0x100923e
xor edx, edx
cmp dword [ebp - 0x50], ebx
mov esi, 1
setne dl
xor eax, eax
cmp dword [ebp - 0xc], esi
setne al
xor ecx, ecx
or edx, eax
cmp dword [ebp + 8], 2
setl cl
or edx, ecx
jne case.default.0x100925d
mov edx, dword [edi + 4]
movzx eax, word [edx]
push 4
push eax
call dword [sym.imp.msvcrt.dll_iswctype]
add esp, 8
test eax, eax
je case.default.0x100925d
mov ecx, dword [edi + 4]
push ebx
push ebx
push ecx
call dword [sym.imp.msvcrt.dll_wcstoul]
add esp, 0xc
mov dword [ebp - 0x50], eax
jmp 0x100923e
xor edx, edx
cmp dword [ebp - 0x54], ebx
mov esi, 1
setne dl
xor eax, eax
cmp dword [ebp - 0xc], esi
setne al
xor ecx, ecx
or edx, eax
cmp dword [ebp + 8], 2
setl cl
or edx, ecx
jne case.default.0x100925d
mov edx, dword [edi + 4]
movzx eax, word [edx]
push 4
push eax
call dword [sym.imp.msvcrt.dll_iswctype]
add esp, 8
test eax, eax
je case.default.0x100925d
mov ecx, dword [edi + 4]
push ebx
push ebx
push ecx
call dword [sym.imp.msvcrt.dll_wcstoul]
add esp, 0xc
mov dword [ebp - 0x54], eax
jmp 0x100923e
xor edx, edx
cmp byte [ebp - 1], bl
mov esi, 1
setne dl
xor eax, eax
cmp dword [ebp - 0xc], esi
setne al
xor ecx, ecx
or edx, eax
cmp dword [ebp + 8], 2
setl cl
or edx, ecx
jne case.default.0x100925d
mov eax, dword [edi + 4]
movzx ecx, word [eax]
mov edx, 0x38
cmp dx, cx
sbb edx, edx
neg edx
cmp cx, 0x31
sbb ecx, ecx
neg ecx
or edx, ecx
jne case.default.0x100925d
cmp word [eax + 2], bx
jne case.default.0x100925d
mov al, byte [eax]
sub al, 0x30
mov byte [ebp - 1], al
jmp 0x100923e
mov edx, dword [ebp - 0x48]
or edx, dword [ebp - 0x44]
je 0x1008fe2
mov eax, 1
jmp 0x1008fe4
xor eax, eax
xor ecx, ecx
cmp dword [ebp - 0x24], ebx
setne cl
xor edx, edx
cmp dword [ebp - 0xc], 1
setne dl
or ecx, edx
xor edx, edx
cmp dword [ebp + 8], 2
setl dl
or ecx, edx
or ecx, eax
jne case.default.0x100925d
mov esi, dword [edi + 4]
mov ecx, 0x1005868
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100903a
cmp dx, bx
je 0x1009036
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100903a
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1009014
xor eax, eax
jmp 0x100903f
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x1009053
sub dword [ebp + 8], 1
mov dword [ebp - 0x24], 1
jmp 0x1009241
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x48]
push ecx
push 0x1005858
push esi
mov dword [ebp - 0x38], ebx
call dword [sym.imp.msvcrt.dll_swscanf]
mov esi, dword [ebp - 0x38]
movzx eax, si
add esp, 0x10
cmp eax, 0x74
ja case.0x1009083.1
movzx edx, byte [eax + 0x1009874]
jmp dword [edx*4 + 0x1009848]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
sub dword [ebp + 8], 1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
jmp 0x1009241
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
sub dword [ebp + 8], 1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
jmp 0x1009241
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
shld ecx, eax, 0xa
shl eax, 0xa
shld ecx, eax, 0xa
shl eax, 0xa
sub dword [ebp + 8], 1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
jmp 0x1009241
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
shld ecx, eax, 0xa
shl eax, 0xa
sub dword [ebp + 8], 1
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
jmp 0x1009241
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x44]
shld ecx, eax, 9
shl eax, 9
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
sub dword [ebp + 8], 1
jmp 0x1009241
xor eax, eax
cmp dword [ebp - 0x28], ebx
mov esi, 1
setne al
xor ecx, ecx
cmp dword [ebp - 0xc], esi
setne cl
xor edx, edx
or eax, ecx
cmp dword [ebp + 8], 2
setl dl
or eax, edx
jne case.default.0x100925d
mov eax, dword [edi + 4]
mov dword [ebp - 0x28], eax
jmp 0x100923e
mov esi, dword [ebp - 0xc]
xor ecx, ecx
cmp esi, 2
setne cl
xor edx, edx
cmp esi, 1
setne dl
test edx, ecx
jne case.default.0x100925d
mov dword [ebp - 0x2c], 1
jmp 0x1009244
xor eax, eax
cmp dword [ebp - 0x14], ebx
mov esi, 1
setne al
xor ecx, ecx
cmp dword [ebp - 0xc], esi
setne cl
xor edx, edx
and eax, ecx
cmp dword [ebp - 0x18], 0xffffffff
setne dl
xor ecx, ecx
or eax, edx
cmp dword [ebp + 8], 2
setl cl
or eax, ecx
jne case.default.0x100925d
mov edx, dword [edi + 4]
movzx eax, word [edx]
push 4
push eax
call dword [sym.imp.msvcrt.dll_iswctype]
add esp, 8
test eax, eax
je case.default.0x100925d
mov ecx, dword [edi + 4]
push ebx
push ebx
push ecx
call dword [sym.imp.msvcrt.dll_wcstoul]
add esp, 0xc
mov dword [ebp - 0x18], eax
jmp 0x100923e
xor edx, edx
cmp dword [ebp - 0x18], 0xffffffff
mov esi, 1
setne dl
xor eax, eax
cmp dword [ebp - 0xc], esi
setne al
xor ecx, ecx
and edx, eax
cmp dword [ebp - 0x14], ebx
setne cl
xor eax, eax
or edx, ecx
cmp dword [ebp + 8], 2
setl al
or edx, eax
jne case.default.0x100925d
mov ecx, dword [edi + 4]
push ecx
call dword [sym.imp.msvcrt.dll__wcsupr]
add esp, 4
mov dword [ebp - 0x14], eax
sub dword [ebp + 8], esi
add edi, 4
cmp dword [ebp + 8], 1
jg 0x10083e4
mov eax, dword [ebp - 0xc]
add eax, 0xffffffff
cmp eax, 3
ja case.default.0x100925d
jmp dword [eax*4 + 0x10098ec]
xor ecx, ecx
cmp ecx, 0x100
jb 0x100927b
ja 0x1009274
cmp eax, ebx
jb 0x100927b
mov edx, 0x10055b4
jmp 0x10092b4
cmp eax, 0x40000000
jb 0x1009289
mov edx, 0x10055b0
jmp 0x10092b4
cmp eax, 0x100000
jb 0x1009297
mov edx, 0x10055ac
jmp 0x10092b4
cmp eax, 0x400
jb 0x10092a5
mov edx, 0x10055a8
jmp 0x10092b4
cmp eax, 1
mov edx, 0x10055a0
je 0x10092b4
mov edx, 0x1005598
cmp ecx, 0x100
jb 0x10092dd
ja 0x10092c2
cmp eax, ebx
jb 0x10092dd
test eax, eax
mov dword [ebp + 8], eax
fild dword [ebp + 8]
jge 0x10092d2
fadd qword [0x1005850]
fmul qword [0x1005590]
jmp 0x100934a
cmp eax, 0x40000000
jb 0x10092fc
test eax, eax
mov dword [ebp + 8], eax
fild dword [ebp + 8]
jge 0x10092f4
fadd qword [0x1005850]
fmul qword [0x1005588]
jmp 0x100934a
cmp eax, 0x100000
jb 0x100931b
test eax, eax
mov dword [ebp + 8], eax
fild dword [ebp + 8]
jge 0x1009313
fadd qword [0x1005850]
fmul qword [0x1005580]
jmp 0x100934a
cmp eax, 0x400
jb 0x100933a
test eax, eax
mov dword [ebp + 8], eax
fild dword [ebp + 8]
jge 0x1009332
fadd qword [0x1005850]
fmul qword [0x1005578]
jmp 0x100934a
test eax, eax
mov dword [ebp + 8], eax
fild dword [ebp + 8]
jge 0x100934a
fadd qword [0x1005850]
push edx
mov edx, dword [sym.imp.msvcrt.dll__iob]
sub esp, 8
fstp qword [esp]
add edx, 0x40
push 0x1005800
push edx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0x14
pop edi
pop esi
mov eax, 0xb
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, cx
mov ecx, dword [sym.imp.msvcrt.dll__iob]
push eax
add ecx, 0x40
push 0x10057d4
push ecx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
pop edi
pop esi
mov eax, 0xa
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
jmp 0x1009409
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
jmp 0x1009409
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
jmp 0x1009409
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
push ebx
push 0x3e8
push edx
push eax
call fcn.01009a80
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
mov edx, dword [sym.imp.msvcrt.dll__iob]
movzx ecx, si
push ecx
add edx, 0x40
push 0x10057d4
push edx
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
pop edi
pop esi
mov eax, 0xa
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x14]
cmp esi, ebx
je 0x10094b6
mov ecx, 0x10057cc
mov eax, esi
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x100947c
cmp dx, bx
je 0x1009478
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x100947c
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x1009456
xor eax, eax
jmp 0x1009481
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x10094b6
call dword [sym.imp.imdisk.cpl__ImDiskFindFreeDriveLetter_0]
cmp ax, bx
mov word [esi], ax
jne 0x10094b6
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
push 0x10057ac
call dword [sym.imp.msvcrt.dll_fputs]
add esp, 8
pop edi
pop esi
mov eax, 0xe
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x24]
cmp edi, ebx
mov esi, dword [ebp - 0x1c]
je 0x10094d4
cmp esi, ebx
jne 0x10094c9
jmp 0x1006180
lea ecx, [ebp - 0x48]
push ecx
push esi
call dword [sym.imp.imdisk.cpl__ImDiskGetOffsetByFileExt_8]
cmp byte [ebp - 1], bl
je 0x100952d
movzx esi, byte [ebp - 1]
mov ecx, dword [ebp - 0x4c]
push esi
lea edx, [ebp - 0x80]
push edx
mov edx, dword [ebp - 0x1c]
lea eax, [ebp - 0x48]
push eax
push ecx
push edx
call dword [sym.imp.imdisk.cpl__ImDiskGetSinglePartitionInformation_20]
test eax, eax
je 0x1009509
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov edx, eax
or edx, ecx
je 0x1009509
mov esi, dword [ebp - 0x1c]
jmp 0x1009556
mov eax, dword [sym.imp.msvcrt.dll__iob]
push esi
add eax, 0x40
push 0x1005788
push eax
call dword [sym.imp.msvcrt.dll_fprintf]
add esp, 0xc
pop edi
pop esi
mov eax, 0xc
pop ebx
mov esp, ebp
pop ebp
ret
cmp edi, ebx
je 0x1009568
mov eax, dword [ebp - 0x4c]
push 1
lea ecx, [ebp - 0x80]
push ecx
lea edx, [ebp - 0x48]
push edx
push eax
push esi
call dword [sym.imp.imdisk.cpl__ImDiskGetSinglePartitionInformation_20]
test eax, eax
je 0x1009568
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov edx, eax
or edx, ecx
je 0x1009568
mov edx, dword [ebp - 0x80]
add dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x7c]
mov dword [ebp - 0x5c], ecx
adc dword [ebp - 0x44], edx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
push eax
mov eax, dword [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 0x20]
push edx
mov edx, dword [ebp - 8]
push eax
push ecx
push esi
push edx
lea eax, [ebp - 0x48]
push eax
lea ecx, [ebp - 0x60]
push ecx
lea edx, [ebp - 0x18]
push edx
call fcn.01006740
cmp eax, ebx
jne 0x10083d4
mov edi, dword [ebp - 0x14]
cmp edi, ebx
mov esi, dword [sym.imp.msvcrt.dll_puts]
je 0x1009631
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x10095b0
sub eax, edx
sar eax, 1
cmp eax, 2
jne 0x10095cb
cmp word [edi + 2], 0x3a
je 0x100961f
mov eax, edi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x10095d0
sub eax, edx
sar eax, 1
cmp eax, 3
jne 0x1009631
mov ecx, 0x1004da0
lea eax, [edi + 2]
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x1009616
cmp dx, bx
je 0x1009612
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x1009616
add eax, 4
add ecx, 4
cmp dx, bx
jne 0x10095f0
xor eax, eax
jmp 0x100961b
sbb eax, eax
sbb eax, 0xffffffff
cmp eax, ebx
jne 0x1009631
push 0x1005344
call esi
add esp, 4
push edi
push ebx
call dword [sym.imp.imdisk.cpl__ImDiskNotifyShellDriveLetter_8]
push 0x10051dc
call esi
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x14]
mov edi, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x18]
xor ecx, ecx
cmp eax, ebx
sete cl
xor edx, edx
or ecx, edi
cmp esi, 0xffffffff
sete dl
test edx, ecx
je 0x1009667
jmp 0x1006180
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
push ecx
push edi
push edx
push eax
push esi
call fcn.010070c0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
xor eax, eax
cmp edi, 0xffffffff
sete al
xor ecx, ecx
cmp esi, ebx
sete cl
test ecx, eax
je 0x10096ae
mov edx, dword [ebp - 0x34]
push edx
call fcn.010076f0
neg eax
pop edi
sbb eax, eax
pop esi
add eax, 1
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push edi
call fcn.01007840
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x18]
mov esi, dword [ebp - 0x14]
xor eax, eax
cmp edi, 0xffffffff
sete al
xor ecx, ecx
cmp esi, ebx
sete cl
test ecx, eax
je 0x10096da
jmp 0x1006180
cmp dword [ebp - 0x10], ebx
je 0x10096f0
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0x10]
push edx
push eax
push esi
push edi
call fcn.01007cd0
jmp 0x10096f2
mov eax, ebx
mov ecx, dword [ebp - 0x5c]
cmp ecx, ebx
jl 0x10083d4
jg 0x1009708
cmp dword [ebp - 0x60], ebx
jbe 0x10083d4
push ecx
mov ecx, dword [ebp - 0x60]
push ecx
push esi
push edi
call fcn.01007f80
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret