Function at 0x4db780
Capabilities:
Enumerate pe sections
Terminate process

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x503f18
push eax
mov eax, dword [esp + 0x10]
mov dword fs:[0], esp
sub esp, 0x10
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
cmp eax, ebx
mov dword [esi + 0x30], eax
jne 0x4db7ca
mov eax, dword [sym.imp.MSVCRT.dll__iob]
push str.No_scanner
add eax, 0x40
push eax
call dword [sym.imp.MSVCRT.dll_fprintf]
add esp, 8
push 1
call dword [sym.imp.MSVCRT.dll_exit]
or ebp, 0xffffffff
cmp word [esi + 4], bx
je case.0x4db9e0.2
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x10]
mov word [esi + 0x2c], bx
mov word [esi + 0x2a], bx
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], edx
mov word [esi + 8], 0x2e
mov word [esi + 0x28], bp
mov word [esi + 4], bx
jmp 0x4db856
movsx eax, word [esi + 6]
mov ecx, dword [0x53b9ec]
movsx edx, word [ecx + eax*2]
mov eax, dword [0x53b9e4]
mov ecx, dword [esi + 0x14]
mov cx, word [ecx]
lea eax, [eax + edx*2]
mov edx, eax
add eax, 2
mov word [esi + 6], cx
mov di, word [eax]
add eax, 2
cmp cx, di
jge 0x4db833
mov cx, word [eax]
add eax, 2
cmp word [esi + 6], cx
jl 0x4db827
mov cx, word [esi + 6]
sub eax, 2
cmp cx, word [eax]
jne 0x4db84b
mov ecx, edx
sub ecx, eax
sar ecx, 1
mov dx, word [edx + ecx*2]
jmp 0x4db84e
mov dx, word [edx]
mov eax, ebp
sub eax, edx
mov word [esi + 8], ax
movsx ecx, word [esi + 2]
mov edi, dword [esi + 0x14]
mov edx, dword [esi + 0xc]
add edi, 2
mov eax, edi
lea ecx, [edx + ecx*2]
cmp eax, ecx
mov dword [esi + 0x14], edi
ja 0x4dbaf3
mov dx, word [esi + 8]
mov word [eax], dx
mov eax, dword [esi + 0x18]
mov ecx, dword [esi + 0x20]
add eax, 4
mov dword [esi + 0x18], eax
mov dword [eax], ecx
mov ax, word [esi + 8]
cmp ax, 0x12
jl 0x4db89e
add eax, 0xfffffff1
mov word [esi + 6], ax
jmp 0x4db9a3
movsx edx, ax
mov eax, dword [0x53b9dc]
movsx ecx, word [eax + edx*2]
mov edx, dword [0x53b9d8]
cmp word [edx + ecx*2], bx
lea edi, [edx + ecx*2]
jl 0x4db915
cmp word [esi + 0x28], bx
jge 0x4db8e6
mov ecx, dword [esi + 0x30]
call fcn.00473a30
cmp ax, bx
mov word [esi + 0x28], ax
jge 0x4db8de
cmp ax, 0xfffe
je case.default.0x4db9f4
mov word [esi + 0x28], bx
mov eax, dword [0x533ec4]
mov dword [esi + 0x1c], eax
mov ax, word [esi + 0x28]
mov ecx, edi
mov word [esi + 6], ax
mov dx, word [edi]
add edi, 2
cmp ax, dx
jge 0x4db907
mov ax, word [edi]
add edi, 2
cmp word [esi + 6], ax
jl 0x4db8fb
mov dx, word [esi + 6]
cmp dx, word [edi - 2]
je 0x4dba3e
mov ax, word [esi + 8]
cmp ax, 2
jge case.0x4db9e0.1
mov ecx, dword [0x53b9e0]
movsx eax, ax
mov ax, word [ecx + eax*2]
cmp ax, bx
mov word [esi + 6], ax
jge 0x4db9a3
mov edi, dword [0x53b9e8]
movsx edx, ax
lea eax, [edx + edx + 2]
sub edi, eax
cmp word [esi + 0x28], bx
jge 0x4db976
mov ecx, dword [esi + 0x30]
call fcn.00473a30
cmp ax, bx
mov word [esi + 0x28], ax
jge 0x4db96d
cmp ax, 0xfffe
je case.default.0x4db9f4
mov word [esi + 0x28], bx
mov ecx, dword [0x533ec4]
mov dword [esi + 0x1c], ecx
mov ax, word [edi]
cmp ax, bx
mov word [esi + 6], ax
jl 0x4db99b
mov cx, word [esi + 0x28]
cmp ax, cx
je 0x4db99b
mov ax, word [edi + 4]
add edi, 4
cmp ax, bx
mov word [esi + 6], ax
jge 0x4db986
mov dx, word [edi + 2]
mov word [esi + 6], dx
movsx eax, word [esi + 6]
mov ecx, dword [0x53b9f0]
mov edi, dword [esi + 0x14]
movsx ecx, word [ecx + eax*2]
mov eax, dword [esi + 0x18]
mov edx, ecx
neg edx
shl edx, 1
shl ecx, 2
mov dword [esi + 0x24], eax
add edi, edx
sub eax, ecx
mov dword [esi + 0x14], edi
mov dword [esi + 0x18], eax
mov edx, dword [eax + 4]
movsx eax, word [esi + 6]
cmp eax, 0x1e
mov dword [esi + 0x20], edx
ja case.0x4db9e0.2
jmp dword [eax*4 + 0x4dbd64]
movsx eax, word [esi + 0x2a]
cmp eax, 3
ja case.default.0x4db9f4
jmp dword [eax*4 + 0x4dbde0]
mov ax, word [esi + 0x28]
inc word [esi + 0x2c]
mov word [esi + 6], ax
mov eax, dword [esi + 0x30]
push str.Syntax_error
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov dx, word [esi + 6]
add esp, 8
cmp dx, word [esi + 0x28]
je case.0x4db9f4.1
inc word [esi + 0x2a]
jmp 0x4db888
cmp word [esi + 0x28], bx
je case.default.0x4db9f4
mov word [esi + 0x28], bp
jmp 0x4db888
mov eax, ecx
mov dx, bp
sub eax, edi
sar eax, 1
sub dx, word [ecx + eax*2]
mov eax, dword [esi + 0x1c]
mov dword [esi + 0x20], eax
mov ax, word [esi + 0x2a]
cmp ax, bx
mov word [esi + 8], dx
mov word [esi + 0x28], bp
je 0x4dbad6
dec eax
mov word [esi + 0x2a], ax
jmp 0x4dbad6
mov edi, dword [esi + 0xc]
mov word [esi + 0x2a], 3
mov ecx, dword [esi + 0x14]
cmp ecx, edi
jbe case.default.0x4db9f4
mov ax, word [ecx]
cmp ax, 0x12
jge 0x4dbab1
movsx edx, ax
mov eax, dword [0x53b9dc]
movsx edx, word [eax + edx*2]
mov eax, dword [0x53b9d8]
lea eax, [eax + edx*2]
mov edx, eax
mov bp, word [eax]
add eax, 2
cmp bp, 0x100
jg 0x4dba9c
cmp word [eax - 2], 0x100
je 0x4dbac2
mov eax, dword [esi + 0x18]
add ecx, 0xfffffffe
add eax, 0xfffffffc
mov dword [esi + 0x14], ecx
mov dword [esi + 0x18], eax
jmp 0x4dba72
mov ecx, edx
or ebp, 0xffffffff
sub ecx, eax
mov ax, bp
sar ecx, 1
sub ax, word [edx + ecx*2]
mov word [esi + 8], ax
movsx ecx, word [esi + 2]
mov edi, dword [esi + 0x14]
mov edx, dword [esi + 0xc]
add edi, 2
mov eax, edi
lea ecx, [edx + ecx*2]
cmp eax, ecx
mov dword [esi + 0x14], edi
jbe 0x4db873
mov esi, dword [esi + 0x30]
push str.Parser_stack_overflow
push esi
mov edx, dword [esi]
call dword [edx + 8]
add esp, 8
mov ax, 1
mov ecx, dword [esp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c
ret 4
mov eax, dword [esi + 0x30]
mov cx, word [eax + 0x24]
mov word [0x5329a0], cx
call fcn.0042c570
jmp case.0x4db9e0.2
mov edx, dword [esi + 0x30]
lea ecx, [esp + 0x10]
mov ax, word [edx + 0x24]
mov word [0x5329a0], ax
call sub.MFC42.DLL_CString::CString_3
lea ecx, [esp + 0x30]
mov dword [esp + 0x28], ebx
call sub.MFC42.DLL_CString::CString_3
movsx ecx, word [0x5329a0]
push ecx
lea edx, [esp + 0x14]
push str.Error_line_:__d
push edx
mov byte [esp + 0x34], 1
call sub.MFC42.DLL_CString::Format_1
lea eax, [esp + 0x3c]
push str.____Syntax_Error
push eax
call sub.MFC42.DLL_CString::Format_1
add esp, 0x14
lea ecx, [esp + 0x10]
lea edx, [esp + 0x1c]
push ecx
push 0x532998
push edx
call sub.MFC42.DLL_operator
lea ecx, [esp + 0x30]
lea edx, [esp + 0x18]
push ecx
push eax
push edx
mov byte [esp + 0x34], 2
call sub.MFC42.DLL_operator
push 0x52a5c8
push eax
lea eax, [esp + 0x1c]
mov byte [esp + 0x30], 3
push eax
call sub.MFC42.DLL_operator_1
push eax
mov ecx, 0x532998
mov byte [esp + 0x2c], 4
call fcn.004f6400
lea ecx, [esp + 0x14]
mov byte [esp + 0x28], 3
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x18]
mov byte [esp + 0x28], 2
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x1c]
mov byte [esp + 0x28], 1
call sub.MFC42.DLL_CString::CString
mov ax, word [0x5329a0]
cmp word [0x53299e], ax
je 0x4dbc14
inc word [0x53299c]
lea ecx, [esp + 0x30]
mov word [0x53299e], ax
mov byte [esp + 0x28], bl
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x28], ebp
call sub.MFC42.DLL_CString::CString
jmp case.0x4db9e0.2
inc word [0x5329b6]
jmp case.0x4db9e0.2
inc word [0x5329b8]
jmp case.0x4db9e0.2
inc word [0x5329ba]
jmp case.0x4db9e0.2
inc word [0x5329bc]
jmp case.0x4db9e0.2
inc word [0x5329be]
jmp case.0x4db9e0.2
inc word [0x5329c0]
jmp case.0x4db9e0.2
inc word [0x5329c2]
jmp case.0x4db9e0.2
inc word [0x5329c4]
jmp case.0x4db9e0.2
inc word [0x5329c6]
jmp case.0x4db9e0.2
inc word [0x5329c8]
jmp case.0x4db9e0.2
inc word [0x5329ca]
jmp case.0x4db9e0.2
inc word [0x5329cc]
jmp case.0x4db9e0.2
inc word [0x5329ce]
jmp case.0x4db9e0.2
inc word [0x5329d0]
jmp case.0x4db9e0.2
inc word [0x5329a2]
jmp case.0x4db9e0.2
inc word [0x5329a4]
jmp case.0x4db9e0.2
inc word [0x5329a6]
jmp case.0x4db9e0.2
inc word [0x5329a8]
jmp case.0x4db9e0.2
inc word [0x5329aa]
jmp case.0x4db9e0.2
inc word [0x5329ac]
jmp case.0x4db9e0.2
inc word [0x5329ae]
jmp case.0x4db9e0.2
inc word [0x5329b0]
jmp case.0x4db9e0.2
inc word [0x5329b2]
jmp case.0x4db9e0.2
inc word [0x5329b4]
jmp case.0x4db9e0.2
xor ax, ax
jmp 0x4dbb08