Function at 0x1000a960
Capabilities:
Delete file

Disassembly:
push ebp
lea ebp, [esp - 0x2dc]
sub esp, 0x35c
mov eax, dword [0x10021994]
xor eax, ebp
mov dword [ebp + 0x2d8], eax
mov eax, dword [ebp + 0x2e8]
push ebx
push esi
push edi
xor edi, edi
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x64], edi
call fcn.100010b0
push edi
push edi
call fcn.100164b0
push edi
push 3
call fcn.100164b0
call fcn.1000c300
push edi
push 0x10022d00
call sub.MSVCR80.dll__setjmp3
add esp, 0x18
cmp eax, edi
mov dword [ebp - 0x70], eax
jne 0x1000b166
mov esi, dword [sym.imp.MSVCR80.dll_malloc]
push 0x104
call esi
add esp, 4
cmp eax, edi
mov dword [0x10022bc4], eax
jne 0x1000a9e4
push 0x67
call fcn.10016180
add esp, 4
mov ecx, dword [0x10021964]
lea edx, [ecx*4]
push edx
call esi
add esp, 4
cmp eax, edi
mov dword [0x10022bc0], eax
jne 0x1000aa0a
push 0x67
call fcn.10016180
add esp, 4
call fcn.10018e70
test eax, eax
jne 0x1000aa1d
push 0x67
call fcn.10016180
add esp, 4
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp + 0x2e4]
push 0x10022dc0
push eax
push ecx
lea ecx, [ebp + 0x2c8]
lea edx, [ebp + 0xc0]
lea esi, [ebp + 0x1c4]
mov ebx, 0x10022be0
call fcn.10006030
add esp, 0xc
xor eax, eax
mov edi, edi
mov cl, byte [eax + 0x10022be0]
mov byte [eax + 0x10022ee0], cl
add eax, 1
test cl, cl
jne 0x1000aa50
mov edi, dword [sym.imp.MSVCR80.dll_strrchr]
push 0x2e
push 0x10022ee0
call edi
mov ebx, dword [sym.imp.MSVCR80.dll_strchr]
mov esi, eax
add esp, 8
test esi, esi
je 0x1000aac8
push 0x5c
push esi
call ebx
add esp, 8
test eax, eax
jne 0x1000aac8
cmp esi, 0x10022ee0
je 0x1000aac8
cmp byte [esi - 1], 0x5c
je 0x1000aac8
test esi, esi
je 0x1000aac8
push str..asm
push esi
call dword [sym.imp.MSVCR80.dll__stricmp]
add esp, 8
test eax, eax
jne 0x1000aac8
push 1
push str..amx
push 0x10022ee0
call fcn.100011a0
add esp, 0xc
jmp 0x1000ab1b
push 0x2e
push 0x10022ee0
call edi
mov esi, eax
add esp, 8
test esi, esi
je 0x1000aaf8
push 0x5c
push esi
call ebx
add esp, 8
test eax, eax
jne 0x1000aaf8
cmp esi, 0x10022ee0
je 0x1000aaf8
cmp byte [esi - 1], 0x5c
je 0x1000aaf8
test esi, esi
jne 0x1000ab1b
mov eax, 0x10022ee0
add eax, 0xffffffff
mov cl, byte [eax + 1]
add eax, 1
test cl, cl
jne 0x1000ab00
mov edx, dword [str..amx]
mov cl, byte [0x1001d308]
mov dword [eax], edx
mov byte [eax + 4], cl
cmp dword [0x10022398], 0
push 1
je 0x1000ab2d
push str..lst
jmp 0x1000ab32
push str..asm
push 0x10022be0
call fcn.100011a0
mov eax, 0x10022dc0
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1000ab47
sub eax, edx
je 0x1000ab61
push 0x10022dc0
call dword [sym.imp.MSVCR80.dll_remove]
jmp 0x1000ab74
cmp dword [0x10020004], 0
jle 0x1000ab77
push str.Pawn_compiler_3.2.3664_t__t__tCopyright__c__1997_2006__ITB_CompuPhase_n_n
call fcn.1001af10
add esp, 4
call fcn.10001240
mov eax, dword [0x10022390]
mov dl, byte [0x10021960]
mov ecx, dword [0x10021970]
mov dword [ebp - 0x74], eax
mov byte [0x10021961], dl
mov edx, dword [0x1002197c]
lea eax, [ebp + 0x2c8]
push eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x68], edx
call fcn.100191f0
add esp, 4
test eax, eax
jne 0x1000abbf
push 0x6c
call fcn.10016180
add esp, 4
push 1
call fcn.10019f00
add esp, 4
test eax, eax
je 0x1000acda
push str.pawn
push 0
call dword [sym.imp.MSVCR80.dll__tempnam]
push eax
mov dword [ebp - 0x5c], eax
call fcn.1001aff0
push 0
mov ebx, eax
mov dword [ebp - 0x60], 0
call fcn.10019f00
mov esi, eax
add esp, 0x10
test esi, esi
je 0x1000acab
push esi
call fcn.1001afd0
mov edi, eax
add esp, 4
test edi, edi
jne 0x1000ac39
mov edx, dword [0x10022bc4]
mov ecx, esi
jmp 0x1000ac20
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x1000ac20
push esi
push 0x64
call fcn.10016180
add esp, 8
push 0x1001d2ec
push ebx
call fcn.1001b050
push esi
push ebx
call fcn.1001b050
push 0x1001cb1c
push ebx
call fcn.1001b050
push edi
call sub.MSVCR80.dll_feof
add esp, 0x1c
test eax, eax
jne 0x1000ac89
push 0x80
lea ecx, [ebp + 0x40]
push ecx
push edi
call fcn.1001b030
lea edx, [ebp + 0x40]
push edx
push ebx
call fcn.1001b050
push edi
call sub.MSVCR80.dll_feof
add esp, 0x18
test eax, eax
je 0x1000ac63
push edi
call sub.MSVCR80.dll_fclose
mov eax, dword [ebp - 0x60]
add eax, 1
push eax
mov dword [ebp - 0x60], eax
call fcn.10019f00
mov esi, eax
add esp, 8
test esi, esi
jne 0x1000ac04
push ebx
call sub.MSVCR80.dll_fclose
mov esi, dword [ebp - 0x5c]
mov edx, dword [0x10022bc4]
add esp, 4
mov ecx, esi
nop
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
test al, al
jne 0x1000acc0
push esi
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
jmp 0x1000acfe
push 0
call fcn.10019f00
mov edx, dword [0x10022bc4]
add esp, 4
lea ebx, [ebx]
mov cl, byte [eax]
mov byte [edx], cl
add eax, 1
add edx, 1
test cl, cl
jne 0x1000acf0
mov eax, dword [0x10022bc4]
push eax
call fcn.1001afd0
xor ebx, ebx
add esp, 4
cmp eax, ebx
mov dword [0x10022448], eax
jne 0x1000ad28
mov ecx, dword [0x10022bc4]
push ecx
push 0x64
call fcn.10016180
add esp, 8
mov edi, 1
push 0x10022be0
mov dword [0x100223b0], edi
call fcn.1001b0a0
add esp, 4
cmp eax, ebx
mov dword [0x1002244c], eax
jne 0x1000ad58
push 0x10022be0
push 0x65
call fcn.10016180
add esp, 8
cmp dword [0x10022394], ebx
jne 0x1000ad8d
cmp dword [0x10022398], ebx
jne 0x1000ad8d
push 0x10022ee0
call fcn.1001b120
add esp, 4
cmp eax, ebx
mov dword [ebp - 0x64], eax
jne 0x1000ad90
push 0x10022ee0
push 0x65
call fcn.10016180
add esp, 8
jmp 0x1000ad90
mov dword [ebp - 0x64], ebx
call fcn.10006190
xor esi, esi
cmp dword [0x10021c5c], ebx
jle 0x1000adcd
nop
mov edx, dword [0x10022448]
push 0x1ff
push 0x100229c0
push edx
call fcn.1001b030
add esp, 0xc
test eax, eax
je 0x1000adc3
add dword [0x100223b4], edi
add esi, edi
cmp esi, dword [0x10021c5c]
jl 0x1000ada0
cmp dword [0x10022398], ebx
mov eax, dword [0x100223b4]
mov dword [0x10021c5c], eax
mov dword [0x100229b0], edi
je 0x1000ae47
cmp dword [0x10021970], ebx
mov ecx, str.true
jne 0x1000adf7
mov ecx, str.false
cmp dword [0x10022390], ebx
mov eax, str.true
jne 0x1000ae09
mov eax, str.false
mov edx, dword [0x1002197c]
push edx
push ecx
push eax
movsx eax, byte [0x10021960]
push eax
lea ecx, [ebp - 0x58]
push str.pragma_ctrlchar_0x_02x_npragma_pack__s_npragma_semicolon__s_npragma_tabsize__d_n
push ecx
call dword [sym.imp.MSVCR80.dll_sprintf]
mov eax, dword [0x1002244c]
lea edx, [ebp - 0x58]
push edx
push eax
call fcn.1001b100
mov ecx, dword [0x10022bc4]
push ecx
call fcn.10014640
add esp, 0x24
mov edx, dword [0x10022448]
push edx
mov dword [0x10021c64], ebx
call fcn.1001b070
mov ebx, eax
add esp, 4
mov dword [ebp - 0x60], ebx
push 0x10022940
call fcn.10002930
push 0
mov esi, 1
push esi
push 0
push 0x10022940
call fcn.1000c6c0
call fcn.1001a0c0
call fcn.10019ed0
call fcn.10001000
mov al, byte [0x10021961]
mov ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x78]
mov byte [0x10021960], al
mov eax, dword [ebp - 0x68]
push 0
push 0
mov dword [0x10022390], ecx
mov dword [0x10021970], edx
mov dword [0x1002197c], eax
call fcn.100164b0
mov eax, dword [0x10022448]
push ebx
push eax
mov dword [0x10022444], eax
mov dword [0x100223b0], esi
call sub.MSVCR80.dll_fsetpos
mov ecx, dword [0x10021c5c]
lea eax, [ebp + 0x1c4]
add esp, 0x24
mov dword [0x100223b4], ecx
mov dword [0x10021c60], 0
mov dword [0x100229b0], esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1000af00
sub eax, edx
je 0x1000af5b
mov edi, str.default.inc
lea esi, [ebp + 0x1c4]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1000af37
push 1
push edx
lea eax, [ebp + 0x1c4]
push eax
call fcn.1000b860
add esp, 0xc
jmp 0x1000af5b
lea ecx, [ebp + 0x1c4]
push ecx
call fcn.1000b700
add esp, 4
test eax, eax
jne 0x1000af5b
lea edx, [ebp + 0x1c4]
push edx
push 0x64
call fcn.10016180
add esp, 8
call fcn.1000f440
call fcn.1000a6f0
add dword [0x10021c64], 1
cmp dword [0x10021c60], 0
jne 0x1000ae61
push 0x10022940
mov dword [0x100229b0], 2
call fcn.1001aa40
add esp, 4
cmp dword [0x10022450], 0
je 0x1000b037
call dword [sym.imp.MSVCR80.dll___iob_func]
mov esi, eax
lea eax, [ebp + 0xc0]
add esi, 0x20
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1000afb1
sub eax, edx
je 0x1000afd5
lea eax, [ebp + 0xc0]
push 0x1001d290
push eax
call dword [sym.imp.MSVCR80.dll_fopen]
add esp, 8
mov esi, eax
test esi, esi
je 0x1000b01a
push 0
call fcn.10019f00
push 0x10022940
mov ecx, eax
mov ebx, esi
call fcn.100039d0
lea eax, [ebp + 0xc0]
add esp, 8
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1000b000
sub eax, edx
je 0x1000b017
push esi
call dword [sym.imp.MSVCR80.dll_fclose]
add esp, 4
mov ebx, dword [ebp - 0x60]
mov eax, dword [0x10021c68]
test eax, eax
je 0x1000b037
push eax
call dword [sym.imp.MSVCR80.dll_free]
add esp, 4
mov dword [0x10021c68], 0
cmp dword [0x10022398], 0
jne 0x1000b166
push 0x10022940
call fcn.10002930
push 0
push 1
push 0
push 0x10022940
call fcn.1000c6c0
call fcn.10019ed0
call fcn.10001000
mov cl, byte [0x10021961]
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov byte [0x10021960], cl
mov ecx, dword [ebp - 0x68]
push 0
push 0
mov dword [0x10022390], edx
mov dword [0x10021970], eax
mov dword [0x1002197c], ecx
call fcn.100164b0
mov eax, dword [0x10022448]
push ebx
push eax
mov dword [0x10022444], eax
mov dword [0x100223b0], 1
call sub.MSVCR80.dll_fsetpos
mov edx, dword [0x10021c5c]
mov dword [0x100223b4], edx
call fcn.1000c300
push 0x10022940
mov dword [0x100229b0], 2
call fcn.10015b30
mov eax, dword [0x10022bc4]
push eax
call fcn.1001a0f0
lea eax, [ebp + 0x1c4]
add esp, 0x2c
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1000b0f0
sub eax, edx
je 0x1000b136
mov edi, str.default.inc
lea esi, [ebp + 0x1c4]
mov ecx, 0xc
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x1000b127
push 1
push edx
lea eax, [ebp + 0x1c4]
push eax
call fcn.1000b860
add esp, 0xc
jmp 0x1000b136
lea ecx, [ebp + 0x1c4]
push ecx
call fcn.1000b700
add esp, 4
call fcn.1000f440
call fcn.1000a6f0
call fcn.10015fc0
push 0
push 1
push 0
push 0x10022940
call fcn.10004490
add esp, 0x10
test eax, eax
jne 0x1000b166
push 0xd
call fcn.10016180
add esp, 4
mov eax, dword [0x10022444]
xor ebx, ebx
cmp eax, ebx
je 0x1000b17a
push eax
call sub.MSVCR80.dll_fclose
add esp, 4
cmp dword [0x10022394], ebx
jne 0x1000b1b8
cmp dword [0x10022398], ebx
jne 0x1000b1b8
cmp dword [0x10022388], ebx
jne 0x1000b1b8
cmp dword [ebp - 0x70], ebx
jne 0x1000b1b8
mov edx, dword [0x1002244c]
push edx
call fcn.1001b0e0
mov eax, dword [0x1002244c]
mov ecx, dword [ebp - 0x64]
push eax
push ecx
call fcn.100177f0
add esp, 0xc
mov dword [ebp - 0x6c], eax
mov ecx, dword [0x1002244c]
cmp ecx, ebx
je 0x1000b1eb
cmp dword [0x10022394], ebx
jne 0x1000b1d9
cmp dword [0x10022398], ebx
jne 0x1000b1d9
mov eax, 1
jmp 0x1000b1db
xor eax, eax
push eax
push ecx
call fcn.1001b0b0
add esp, 8
mov dword [0x1002244c], ebx
mov eax, dword [ebp - 0x64]
cmp eax, ebx
je 0x1000b20a
xor edx, edx
cmp dword [0x10022388], ebx
setne dl
push edx
push eax
call fcn.1001b140
add esp, 8
mov dword [ebp - 0x64], ebx
cmp dword [0x10022388], ebx
jne 0x1000b3a0
mov eax, 0x10022dc0
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x1000b220
sub eax, edx
jne 0x1000b3a0
lea eax, [ebp - 0x80]
push eax
mov ebx, 0x10022940
call fcn.10002b50
mov ecx, dword [0x100223ac]
mov edx, dword [0x1002237c]
mov ebx, dword [0x10021978]
xor esi, esi
add esp, 4
cmp dword [0x100223a8], esi
mov edi, eax
mov dword [ebp - 0x68], edi
jle 0x1000b287
mov eax, dword [0x10022380]
mov edi, dword [ebp - 0x6c]
add eax, edi
test ecx, ecx
jne 0x1000b277
lea edi, [ebx + edx]
lea eax, [eax + edi*4]
cmp eax, dword [0x100223a8]
mov edi, dword [ebp - 0x68]
jl 0x1000b287
mov esi, 1
test ecx, ecx
jle 0x1000b29a
add edx, ebx
add edx, edx
add edx, edx
cmp edx, ecx
jb 0x1000b29a
mov esi, 1
mov eax, 2
test byte [0x10021968], al
jne 0x1000b2be
cmp dword [0x10020004], eax
jge 0x1000b2be
lea eax, [edi + 0x20]
cmp eax, ebx
jge 0x1000b2be
test esi, esi
je 0x1000b3a0
mov ebx, dword [ebp - 0x6c]
push ebx
push str.Header_size:________8ld_bytes_n
call fcn.1001af10
mov ecx, dword [0x10022380]
push ecx
push str.Code_size:__________8ld_bytes_n
call fcn.1001af10
mov edx, dword [0x1002237c]
lea eax, [edx*4]
push eax
push str.Data_size:__________8ld_bytes_n
call fcn.1001af10
mov ecx, dword [0x10021978]
lea edx, [ecx*4]
push edx
push str.Stack_heap_size:____8ld_bytes_
call fcn.1001af10
push str.estimated_max._usage
call fcn.1001af10
add esp, 0x24
cmp dword [ebp - 0x80], 0
je 0x1000b32f
push str.:_unknown__due_to_recursion_n
call fcn.1001af10
add esp, 4
jmp 0x1000b35d
test byte [0x100223e8], 1
je 0x1000b347
push str.:_unknown__due_to_the__sleep__instruction_n
call fcn.1001af10
add esp, 4
jmp 0x1000b35d
lea eax, [edi*4]
push eax
push edi
push str._ld_cells___ld_bytes__n
call fcn.1001af10
add esp, 0xc
mov ecx, dword [0x1002237c]
mov edx, dword [0x10021978]
mov eax, dword [0x10022380]
add edx, ecx
lea ecx, [eax + edx*4]
add ecx, ebx
push ecx
push str.Total_requirements:_8ld_bytes_n
call fcn.1001af10
mov ecx, dword [0x100223ac]
add esp, 8
test esi, esi
je 0x1000b3a0
mov edx, dword [0x100223a8]
add ecx, edx
push ecx
push 0x6a
call fcn.10016180
add esp, 8
cmp dword [0x10022bc4], 0
je 0x1000b3da
push 1
call fcn.10019f00
add esp, 4
test eax, eax
je 0x1000b3c6
mov eax, dword [0x10022bc4]
push eax
call dword [sym.imp.MSVCR80.dll_remove]
add esp, 4
mov ecx, dword [0x10022bc4]
mov edi, dword [sym.imp.MSVCR80.dll_free]
push ecx
call edi
add esp, 4
jmp 0x1000b3e0
mov edi, dword [sym.imp.MSVCR80.dll_free]
mov eax, dword [0x10022bc0]
test eax, eax
je 0x1000b3ef
push eax
call edi
add esp, 4
call fcn.10018730
call fcn.10018330
call fcn.1000b6d0
push 1
push 1
push 0
push 0x10022d40
call fcn.1000c6c0
push 1
push 1
push 0
push 0x10022940
call fcn.1000c6c0
mov eax, dword [0x1002230c]
add esp, 0x20
test eax, eax
je 0x1000b43e
lea ebx, [ebx]
mov esi, dword [eax]
push eax
call edi
add esp, 4
test esi, esi
mov eax, esi
jne 0x1000b430
push 0x2c
push 0
push 0x1002230c
call sub.MSVCR80.dll_memset
mov eax, dword [0x10022338]
add esp, 0xc
test eax, eax
je 0x1000b466
mov esi, dword [eax]
push eax
call edi
add esp, 4
test esi, esi
mov eax, esi
jne 0x1000b458
push 0x2c
push 0
push 0x10022338
call sub.MSVCR80.dll_memset
mov eax, dword [0x100223ec]
add esp, 0xc
test eax, eax
je 0x1000b48e
mov esi, dword [eax]
push eax
call edi
add esp, 4
test esi, esi
mov eax, esi
jne 0x1000b480
push 0x2c
push 0
push 0x100223ec
call sub.MSVCR80.dll_memset
mov eax, dword [0x10022418]
add esp, 0xc
test eax, eax
je 0x1000b4b6
mov esi, dword [eax]
push eax
call edi
add esp, 4
test esi, esi
mov eax, esi
jne 0x1000b4a8
push 0x2c
push 0
push 0x10022418
call sub.MSVCR80.dll_memset
add esp, 0xc
call fcn.1001a8c0
call fcn.10019d80
call fcn.10019dd0
call fcn.10019f30
call fcn.1001a390
call fcn.10019ed0
call fcn.10019fd0
mov eax, dword [0x10021c68]
test eax, eax
je 0x1000b4f9
push eax
call edi
add esp, 4
call fcn.1001a020
call fcn.1001a0c0
mov esi, dword [0x10022388]
test esi, esi
je 0x1000b54a
mov eax, 0x10022dc0
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1000b515
sub eax, edx
jne 0x1000b540
cmp esi, 1
mov eax, 0x1001d170
jg 0x1000b531
mov eax, 0x1001cb9b
push eax
push esi
push str._n_d_Error_s._n
call fcn.1001af10
add esp, 0xc
mov esi, 1
jmp 0x1000b5ac
mov esi, dword [0x1002238c]
test esi, esi
je 0x1000b58f
mov eax, 0x10022dc0
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x1000b560
sub eax, edx
jne 0x1000b58b
cmp esi, 1
mov eax, 0x1001d170
jg 0x1000b57c
mov eax, 0x1001cb9b
push eax
push esi
push str._n_d_Warning_s._n
call fcn.1001af10
add esp, 0xc
xor esi, esi
jmp 0x1000b5ac
mov esi, dword [ebp - 0x70]
test esi, esi
jne 0x1000b5ac
cmp dword [0x10020004], 2
jl 0x1000b5ac
push str._nDone._n
call fcn.1001af10
add esp, 4
mov edx, dword [0x10021c6c]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x1000b5d8
push 0
push esi
push str.PawnNotify
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push eax
mov eax, dword [0x10021c6c]
push eax
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp + 0x2d8]
pop edi
mov eax, esi
pop esi
xor ecx, ebp
pop ebx
call fcn.1001b1c6
add ebp, 0x2dc
mov esp, ebp
pop ebp
ret