Function at 0x44b540
Capabilities:
Write file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x434]
sub esp, 0x4b4
mov eax, dword [0x4772d4]
xor eax, ebp
mov dword [ebp + 0x430], eax
push ebx
push esi
push edi
push 0x104
push 0
push 0x47bd78
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x60], edx
call fcn.00413920
add esp, 0xc
push 0x104
push 0x47bd78
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push 0x47bd78
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecA]
push 0x47bd78
push str._s_rus.txt
push 0x47bd78
call fcn.00408a42
push 0x47bd78
call fcn.0040a137
add esp, 0x10
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x3c], 0
call fcn.0044b1c0
xor eax, eax
push eax
push 0x47d230
mov dword [0x47bebc], 0
mov dword [0x47e894], 0xffffffff
mov dword [0x47e890], 0xffffffff
mov dword [0x47beb4], 0
mov word [0x47d860], ax
mov word [0x47d854], ax
mov word [0x47d858], ax
mov dword [0x47d6ac], eax
mov dword [0x47d830], eax
call fcn.00460770
mov ebx, eax
add esp, 8
mov dword [ebp - 0x40], ebx
test ebx, ebx
jne 0x44c140
push 0x104
call fcn.0040871a
add esp, 4
mov dword [0x47d0dc], eax
test eax, eax
jne 0x44b650
push 0x67
call fcn.0045afc0
add esp, 4
mov eax, dword [0x47a984]
shl eax, 2
push eax
call fcn.0040871a
add esp, 4
mov dword [0x47d0c8], eax
test eax, eax
jne 0x44b674
push 0x67
call fcn.0045afc0
add esp, 4
call fcn.0045e060
test eax, eax
jne 0x44b687
push 0x67
call fcn.0045afc0
add esp, 4
push 0x104
push 0
push dword [0x47d0dc]
call fcn.00413920
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
add esp, 0xc
lea eax, [ebp + 0x420]
push eax
lea eax, [ebp + 0x180]
push eax
lea eax, [ebp + 0x31c]
push eax
sub esp, 8
call fcn.0044a3c0
add esp, 0x14
xor ecx, ecx
jmp 0x44b6d0
mov al, byte [ecx + 0x47d128]
mov byte [ecx + 0x47d420], al
lea ecx, [ecx + 1]
test al, al
jne 0x44b6d0
push 0x2e
push 0x47d420
call fcn.0040b630
mov esi, eax
add esp, 8
test esi, esi
je 0x44b741
push 0x5c
push esi
call fcn.00409b60
add esp, 8
test eax, eax
jne 0x44b741
cmp esi, 0x47d420
je 0x44b741
cmp byte [esi - 1], 0x5c
je 0x44b741
test esi, esi
je 0x44b741
push str..asm
push esi
call fcn.00408968
add esp, 8
test eax, eax
jne 0x44b741
push 1
mov edx, str..amx
mov ecx, 0x47d420
call fcn.0044b100
add esp, 4
jmp 0x44b799
push 0x2e
push 0x47d420
call fcn.0040b630
mov esi, eax
add esp, 8
test esi, esi
je 0x44b777
push 0x5c
push esi
call fcn.00409b60
add esp, 8
test eax, eax
jne 0x44b777
cmp esi, 0x47d420
je 0x44b777
cmp byte [esi - 1], 0x5c
je 0x44b777
test esi, esi
jne 0x44b799
mov ecx, 0x47d420
dec ecx
lea ecx, [ecx]
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x44b780
mov eax, dword [str..amx]
mov dword [ecx], eax
mov al, byte [0x46a1e8]
mov byte [ecx + 4], al
cmp dword [0x47c03c], 0
push 0x2e
push 0x47d128
je 0x44b7f8
call fcn.0040b630
mov esi, eax
add esp, 8
test esi, esi
je 0x44b7da
push 0x5c
push esi
call fcn.00409b60
add esp, 8
test eax, eax
jne 0x44b7da
cmp esi, 0x47d128
je 0x44b7da
cmp byte [esi - 1], 0x5c
je 0x44b7da
test esi, esi
je 0x44b7da
mov byte [esi], al
mov ecx, 0x47d128
dec ecx
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x44b7e0
mov eax, dword [str..lst]
mov dword [ecx], eax
mov al, byte [0x46a1f0]
jmp 0x44b846
call fcn.0040b630
mov esi, eax
add esp, 8
test esi, esi
je 0x44b829
push 0x5c
push esi
call fcn.00409b60
add esp, 8
test eax, eax
jne 0x44b829
cmp esi, 0x47d128
je 0x44b829
cmp byte [esi - 1], 0x5c
je 0x44b829
test esi, esi
je 0x44b829
mov byte [esi], al
mov ecx, 0x47d128
dec ecx
nop
mov al, byte [ecx + 1]
lea ecx, [ecx + 1]
test al, al
jne 0x44b830
mov eax, dword [str..asm]
mov dword [ecx], eax
mov al, byte [0x46a1e0]
mov byte [ecx + 4], al
mov ecx, 0x47d318
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44b851
sub ecx, edx
je 0x44b869
push 0x47d318
call fcn.0040a137
add esp, 4
call fcn.0044a240
mov al, byte [0x47a968]
mov byte [0x47a969], al
mov eax, dword [0x47c040]
mov dword [ebp - 0x34], eax
mov eax, dword [0x47966c]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x4794cc]
lea ecx, [ebp + 0x420]
mov dword [ebp - 0x38], eax
call fcn.0045f000
test eax, eax
jne 0x44b8a9
push 0x6c
call fcn.0045afc0
add esp, 4
mov eax, dword [0x47bf24]
mov ecx, dword [0x47bf20]
cmp eax, 1
jle 0x44b9e7
cmp dword [ecx + 4], 0
je 0x44b9e7
push str.pawn
push 0
call fcn.00408d0d
mov edi, eax
push 0x46a1cc
push edi
mov dword [ebp - 0x44], edi
call fcn.0040a9e4
add esp, 0x10
mov ebx, eax
mov dword [ebp - 0x78], edi
xor ecx, ecx
mov dword [ebp - 0x30], ecx
test ecx, ecx
js 0x44b9b1
cmp ecx, dword [0x47bf24]
jge 0x44b9b1
mov eax, dword [0x47bf20]
mov edi, dword [eax + ecx*4]
test edi, edi
je 0x44b9b1
push 0x46a1c0
push edi
call fcn.0040a9e4
mov esi, eax
add esp, 8
test esi, esi
jne 0x44b949
mov edx, dword [0x47d0dc]
mov ecx, edi
sub edx, edi
mov al, byte [ecx]
mov byte [edx + ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x44b932
push edi
push 0x64
call fcn.0045afc0
add esp, 8
push ebx
push str.file__
call fcn.00409618
push ebx
push edi
call fcn.00409618
push ebx
push 0x46a1fc
call fcn.00409618
push esi
call fcn.00408ae0
add esp, 0x1c
test eax, eax
jne 0x44b99f
push esi
lea eax, [ebp + 0x100]
push 0x80
push eax
call fcn.0040a2ea
lea eax, [ebp + 0x100]
push ebx
push eax
call fcn.00409618
push esi
call fcn.00408ae0
add esp, 0x18
test eax, eax
je 0x44b973
push esi
call fcn.0040c18d
mov ecx, dword [ebp - 0x30]
add esp, 4
inc ecx
jmp 0x44b8ed
push ebx
call fcn.0040c18d
mov esi, dword [0x47d0dc]
mov edi, dword [ebp - 0x44]
mov edx, esi
add esp, 4
mov ecx, edi
sub edx, edi
lea esp, [esp]
mov al, byte [ecx]
mov byte [edx + ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x44b9d0
push edi
call fcn.004086e2
add esp, 4
jmp 0x44ba0c
test eax, eax
jle 0x44b9ef
mov ecx, dword [ecx]
jmp 0x44b9f1
xor ecx, ecx
mov esi, dword [0x47d0dc]
mov edx, esi
sub edx, ecx
jmp 0x44ba00
mov al, byte [ecx]
mov byte [edx + ecx], al
lea ecx, [ecx + 1]
test al, al
jne 0x44ba00
push 0x46a1c0
push esi
call fcn.0040a9e4
add esp, 8
mov dword [0x47d0e4], eax
test eax, eax
jne 0x44ba33
push dword [0x47d0dc]
push 0x64
call fcn.0045afc0
add esp, 8
push 0x1000
mov dword [0x47c084], 1
mov dword [ebp - 0x64], 0x1000
call fcn.0040871a
add esp, 4
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x68], 0
test eax, eax
jne 0x44ba63
xor esi, esi
jmp 0x44ba9c
push 0x14
mov dword [ebp - 0x6c], 0
call fcn.0040871a
movq xmm0, qword [ebp - 0x74]
mov esi, eax
push 0x47d128
movq qword [esi], xmm0
movq xmm0, qword [ebp - 0x6c]
movq qword [esi + 8], xmm0
mov dword [esi + 0x10], 0x1000
call fcn.004087ac
add esp, 8
mov dword [esi], eax
mov dword [0x47bffc], esi
test esi, esi
jne 0x44bab5
push 0x47d128
push 0x65
call fcn.0045afc0
add esp, 8
cmp dword [0x47d0f8], 0
jne 0x44baf3
cmp dword [0x47c03c], 0
jne 0x44baf3
push 0x46a120
push 0x47d420
call fcn.0040a9e4
mov ebx, eax
add esp, 8
mov dword [ebp - 0x3c], ebx
test ebx, ebx
jne 0x44bafa
push 0x47d420
push 0x65
call fcn.0045afc0
add esp, 8
jmp 0x44bafa
mov dword [ebp - 0x3c], 0
call fcn.00449b90
xor esi, esi
cmp dword [0x47be8c], esi
jle 0x44bb3b
lea esp, [esp]
push dword [0x47d0e4]
push 0xfff
push 0x47c090
call fcn.0040a2ea
add esp, 0xc
test eax, eax
je 0x44bb32
inc dword [0x47d41c]
inc esi
cmp esi, dword [0x47be8c]
jl 0x44bb10
cmp dword [0x47c03c], 0
mov eax, dword [0x47d41c]
mov dword [0x47be8c], eax
mov dword [0x47c048], 1
je 0x44bc71
push dword [0x4794cc]
cmp dword [0x47966c], 0
mov ecx, str.true
mov eax, ecx
mov edx, str.false
cmove eax, edx
cmp dword [0x47c040], 0
push eax
movsx eax, byte [0x47a968]
cmove ecx, edx
push ecx
push eax
lea eax, [ebp + 0x284]
push str.pragma_ctrlchar_0x_02x_npragma_pack__s_npragma_semicolon__s_npragma_tabsize__d_n
push eax
call fcn.00408a42
lea esi, [ebp + 0x284]
add esp, 0x18
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x44bbb0
mov edi, dword [0x47bffc]
sub esi, ecx
mov eax, dword [edi + 8]
mov ecx, dword [edi + 0x10]
add eax, esi
cmp eax, ecx
jbe 0x44bbf2
mov eax, dword [edi + 4]
lea ebx, [ecx + esi]
add ebx, ebx
push ebx
push eax
mov dword [ebp - 0x44], eax
call fcn.004087fc
add esp, 8
mov dword [edi + 4], eax
test eax, eax
jne 0x44bbef
mov eax, dword [ebp - 0x44]
mov dword [edi + 4], eax
jmp 0x44bc17
mov dword [edi + 0x10], ebx
push esi
lea eax, [ebp + 0x284]
push eax
mov eax, dword [edi + 4]
add eax, dword [edi + 8]
push eax
call fcn.00412740
add dword [edi + 8], esi
mov eax, dword [edi + 8]
add esp, 0xc
cmp eax, dword [edi + 0xc]
jle 0x44bc17
mov dword [edi + 0xc], eax
cmp dword [0x47c048], 1
mov esi, dword [0x47d0dc]
jne 0x44bc71
cmp dword [0x47c03c], 0
je 0x44bc71
push 7
mov edx, str.file__
mov ecx, edi
call fcn.0043ec60
mov ecx, esi
add esp, 4
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44bc45
sub ecx, edx
push ecx
mov ecx, dword [0x47bffc]
mov edx, esi
call fcn.0043ec60
mov ecx, dword [0x47bffc]
push 2
mov edx, 0x46a1fc
call fcn.0043ec60
add esp, 8
push 0x47ebf8
push dword [0x47d0e4]
mov dword [0x47be80], 0
call fcn.00409c8b
mov ebx, dword [ebp - 0x34]
add esp, 8
call fcn.00442b40
push 0
push 1
xor edx, edx
mov ecx, 0x47bf80
call fcn.00452cf0
add esp, 8
mov ecx, 0x47d52c
call fcn.00402580
mov eax, dword [0x47d52c]
lea ecx, [ebp - 0x54]
push ecx
mov dword [ebp - 0x54], eax
mov eax, dword [0x47d534]
push 0x10
push eax
mov dword [0x47d538], eax
lea eax, [ebp - 0x7c]
push eax
mov ecx, 0x47d534
call fcn.00404820
mov ecx, dword [0x47bf10]
mov dword [0x47d540], 7
mov dword [0x47d544], 8
test ecx, ecx
je 0x44bd12
mov eax, dword [ecx]
push ecx
mov dword [0x47bf10], eax
call fcn.004086e2
mov ecx, dword [0x47bf10]
add esp, 4
test ecx, ecx
jne 0x44bcf8
mov edi, dword [0x47bf2c]
test edi, edi
je 0x44bd41
lea esp, [esp]
push dword [edi + 4]
mov esi, dword [edi]
call fcn.004086e2
push dword [edi + 8]
call fcn.004086e2
push edi
call fcn.004086e2
add esp, 0xc
mov edi, esi
test esi, esi
jne 0x44bd20
xorps xmm0, xmm0
xor eax, eax
mov ecx, 0x3b
mov edi, 0x47eaf8
movq qword [0x47bf2c], xmm0
movq qword [0x47bf34], xmm0
rep stosd dword es:[edi], eax
call fcn.0044b340
mov al, byte [0x47a969]
mov byte [0x47a968], al
mov eax, dword [ebp - 0x4c]
mov dword [0x47966c], eax
mov eax, dword [ebp - 0x38]
mov dword [0x4794cc], eax
mov eax, dword [0x47d0e4]
push 0x47ebf8
push eax
mov dword [0x47c040], ebx
mov dword [0x47bebc], 0
mov dword [0x47d0e0], eax
mov dword [0x47c084], 1
call fcn.0040a2b1
mov eax, dword [0x47be8c]
lea ecx, [ebp + 0x31c]
add esp, 8
mov dword [0x47d41c], eax
mov dword [0x47be84], 0
mov dword [0x47c048], 1
lea edx, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44bde0
sub ecx, edx
je 0x44be52
mov ecx, str.default.inc
lea eax, [ebp + 0x31c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44be16
test dl, dl
je 0x44be12
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44be16
add eax, 2
add ecx, 2
test dl, dl
jne 0x44bdf6
xor eax, eax
jmp 0x44be1b
sbb eax, eax
or eax, 1
test eax, eax
jne 0x44be32
push ecx
xor edx, edx
lea ecx, [ebp + 0x31c]
call fcn.00453190
add esp, 4
jmp 0x44be52
lea ecx, [ebp + 0x31c]
call fcn.00451f70
test eax, eax
jne 0x44be52
lea eax, [ebp + 0x31c]
push eax
push 0x64
call fcn.0045afc0
add esp, 8
call fcn.004525c0
call fcn.004497a0
inc dword [0x47be80]
cmp dword [0x47be84], 0
jne 0x44bc91
mov dword [0x47c048], 2
call fcn.004605a0
cmp dword [0x47c08c], 0
je 0x44bf20
call fcn.00409a1d
lea ecx, [ebp + 0x180]
lea esi, [eax + 0x20]
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44bea0
sub ecx, edx
je 0x44bec1
lea eax, [ebp + 0x180]
push 0x46a120
push eax
call fcn.0040a9e4
add esp, 8
mov esi, eax
test esi, esi
je 0x44bf04
cmp dword [0x47bf24], 0
jle 0x44bed8
mov ecx, dword [0x47bf20]
mov eax, dword [ecx]
jmp 0x44beda
xor eax, eax
push eax
mov edx, esi
call fcn.00442ca0
lea ecx, [ebp + 0x180]
add esp, 4
lea edx, [ecx + 1]
mov edi, edi
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44bef0
sub ecx, edx
je 0x44bf04
push esi
call fcn.0040c18d
add esp, 4
mov eax, dword [0x47be9c]
test eax, eax
je 0x44bf20
push eax
call fcn.004086e2
add esp, 4
mov dword [0x47be9c], 0
cmp dword [0x47c03c], 0
jne 0x44c13d
call fcn.00442b40
push 0
push 1
xor edx, edx
mov ecx, 0x47bf80
call fcn.00452cf0
add esp, 8
mov ecx, 0x47d52c
call fcn.00402580
mov eax, dword [0x47d52c]
lea edx, [ebp - 0x58]
push edx
mov dword [ebp - 0x58], eax
mov eax, dword [0x47d534]
push 0x10
push eax
mov dword [0x47d538], eax
lea eax, [ebp - 0x80]
push eax
mov ecx, 0x47d534
call fcn.00404820
mov edi, dword [0x47bf2c]
mov dword [0x47d540], 7
mov dword [0x47d544], 8
test edi, edi
je 0x44bfb5
push dword [edi + 4]
mov esi, dword [edi]
call fcn.004086e2
push dword [edi + 8]
call fcn.004086e2
push edi
call fcn.004086e2
add esp, 0xc
mov edi, esi
test esi, esi
jne 0x44bf94
xorps xmm0, xmm0
xor eax, eax
mov ecx, 0x3b
mov edi, 0x47eaf8
movq qword [0x47bf2c], xmm0
movq qword [0x47bf34], xmm0
rep stosd dword es:[edi], eax
call fcn.0044b340
mov al, byte [0x47a969]
mov byte [0x47a968], al
mov eax, dword [ebp - 0x4c]
mov dword [0x47966c], eax
mov eax, dword [ebp - 0x38]
mov dword [0x4794cc], eax
mov eax, dword [0x47d0e4]
push 0x47ebf8
push eax
mov dword [0x47c040], ebx
mov dword [0x47bebc], 0
mov dword [0x47d0e0], eax
mov dword [0x47c084], 1
call fcn.0040a2b1
mov eax, dword [0x47be8c]
mov dword [0x47d41c], eax
xor eax, eax
add esp, 8
mov dword [0x47beb4], 0
mov word [0x47d860], ax
mov word [0x47d854], ax
mov word [0x47d858], ax
mov dword [0x47d6ac], eax
mov dword [0x47d830], eax
mov dword [0x47c048], 2
call fcn.0045a2f0
cmp dword [0x47c048], 2
jne 0x44c0a4
test byte [0x47a85c], 2
je 0x44c0a4
push dword [0x47d0dc]
lea eax, [ebp - 0x2c]
push dword [0x47d0fc]
push str.F:_x__s
push eax
call fcn.00408a42
add esp, 0x10
lea edx, [ebp - 0x2c]
mov ecx, 0x47bf3c
call fcn.0045f590
lea ecx, [ebp + 0x31c]
lea edx, [ecx + 1]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c0b0
sub ecx, edx
je 0x44c10d
mov ecx, str.default.inc
lea eax, [ebp + 0x31c]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x44c0e6
test dl, dl
je 0x44c0e2
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x44c0e6
add eax, 2
add ecx, 2
test dl, dl
jne 0x44c0c6
xor eax, eax
jmp 0x44c0eb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x44c102
push ecx
xor edx, edx
lea ecx, [ebp + 0x31c]
call fcn.00453190
add esp, 4
jmp 0x44c10d
lea ecx, [ebp + 0x31c]
call fcn.00451f70
call fcn.004525c0
call fcn.004497a0
call fcn.00459d10
push 0
push 1
xor edx, edx
mov ecx, 0x47bf80
call fcn.004426a0
add esp, 8
test eax, eax
jne 0x44c13d
push 0xd
call fcn.0045afc0
add esp, 4
mov ebx, dword [ebp - 0x40]
mov eax, dword [0x47d0e0]
test eax, eax
je 0x44c15c
push eax
call fcn.0040c18d
add esp, 4
mov dword [0x47d0e0], 0
mov eax, dword [0x47d0f8]
test eax, eax
jne 0x44c1a2
cmp dword [0x47c03c], eax
jne 0x44c1a2
cmp dword [0x47d120], eax
jne 0x44c1a2
test ebx, ebx
jne 0x44c1a2
mov edx, dword [0x47bffc]
xor ecx, ecx
mov eax, dword [edx + 0xc]
test eax, eax
je 0x44c18e
cmovs ecx, eax
mov dword [edx + 8], ecx
mov ecx, dword [ebp - 0x3c]
call fcn.0045c8b0
mov esi, eax
mov eax, dword [0x47d0f8]
mov dword [ebp - 0x48], esi
jmp 0x44c1a5
mov esi, dword [ebp - 0x48]
mov edi, dword [0x47bffc]
test edi, edi
je 0x44c216
test eax, eax
jne 0x44c1c2
cmp dword [0x47c03c], eax
jne 0x44c1c2
mov eax, 1
jmp 0x44c1c4
xor eax, eax
test eax, eax
jne 0x44c1f4
push 0x46a120
push dword [edi]
call fcn.0040a9e4
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x44c1f4
push ebx
push 1
push dword [edi + 0xc]
push dword [edi + 4]
call fcn.0040b5a4
push ebx
call fcn.0040c18d
add esp, 0x14
push dword [edi]
call fcn.004086e2
push dword [edi + 4]
call fcn.004086e2
push edi
call fcn.004086e2
add esp, 0xc
mov dword [0x47bffc], 0
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x44c249
xor ebx, ebx
cmp dword [0x47d120], ebx
push eax
setne bl
call fcn.0040c18d
add esp, 4
test ebx, ebx
je 0x44c242
push 0x47d420
call fcn.0040a137
add esp, 4
mov dword [ebp - 0x3c], 0
cmp dword [0x47bd74], 0
mov dword [ebp - 0x38], 0
je 0x44c297
cmp dword [0x47be7c], 0
je 0x44c297
cmp dword [0x47d120], 0
je 0x44c2a4
mov ecx, 0x47d318
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c273
sub ecx, edx
jne 0x44c297
push esi
push str.Enable_y_hooks_include_several_times:_pragma_compat_0_n
call fcn.0044d540
push esi
push 0x46a298
call fcn.0044d2a0
add esp, 0x10
cmp dword [0x47d120], 0
jne 0x44c52e
mov ecx, 0x47d318
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c2b0
sub ecx, edx
jne 0x44c52e
lea edx, [ebp - 0x50]
call fcn.004428e0
cmp dword [0x47bd6c], 0
mov ebx, eax
je 0x44c2eb
push esi
push str.Disable_recursion_warning:_pragma_disablerecursion_or_pragma_warning_disable_238_n
call fcn.0044d540
push esi
push 0x46a338
call fcn.0044d2a0
add esp, 0x10
mov ecx, 0x47d318
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c2f3
sub ecx, edx
jne 0x44c324
cmp dword [0x479094], ecx
jle 0x44c324
push str.Pawn_compiler_3.2.3664_t__t__tCopyright__c__1997_2017__ITB_CompuPhase_n_n
call fcn.0044d540
push str.Pawn_compiler_3.2.3664_t__t__tCopyright__c__1997_2017__ITB_CompuPhase_n_n
call fcn.0044d2a0
add esp, 8
mov dword [ebp - 0x38], 1
mov edx, dword [0x47d0d4]
mov ecx, dword [0x47d10c]
xor edi, edi
test edx, edx
jle 0x44c36b
mov eax, dword [0x47d0fc]
add eax, esi
mov dword [ebp - 0x30], eax
test ecx, ecx
jne 0x44c361
mov eax, dword [0x47a974]
add eax, dword [0x47c04c]
mov edx, dword [ebp - 0x30]
lea edx, [edx + eax*4]
mov dword [ebp - 0x30], edx
mov edx, dword [0x47d0d4]
mov eax, dword [ebp - 0x30]
cmp eax, edx
mov eax, 1
cmovge edi, eax
test ecx, ecx
jle 0x44c38d
mov eax, dword [0x47a974]
add eax, dword [0x47c04c]
mov edx, dword [0x47d0d4]
shl eax, 2
cmp eax, ecx
mov eax, 1
cmovae edi, eax
cmp dword [0x479094], 2
jge 0x44c3a9
lea eax, [ebx + 0x20]
cmp eax, dword [0x47a974]
jge 0x44c3a9
test edi, edi
je 0x44c52e
push esi
push str.Header_size:________8ld_bytes_n
call fcn.0044d540
push dword [0x47d0fc]
push str.Code_size:__________8ld_bytes_n
call fcn.0044d540
mov eax, dword [0x47c04c]
shl eax, 2
push eax
push str.Data_size:__________8ld_bytes_n
call fcn.0044d540
mov eax, dword [0x47a974]
shl eax, 2
push eax
push str.Stack_heap_size:____8ld_bytes_
call fcn.0044d540
push str.estimated_max._usage
call fcn.0044d540
add esp, 0x24
cmp dword [ebp - 0x50], 0
je 0x44c40c
push str.:_unknown__due_to_recursion_n
call fcn.0044d540
add esp, 4
jmp 0x44c43a
test byte [0x47c034], 1
je 0x44c424
push str.:_unknown__due_to_the__sleep__instruction_n
call fcn.0044d540
add esp, 4
jmp 0x44c43a
lea eax, [ebx*4]
push eax
push ebx
push str._ld_cells___ld_bytes__n
call fcn.0044d540
add esp, 0xc
mov ecx, dword [0x47c04c]
add ecx, dword [0x47a974]
mov eax, dword [0x47d0fc]
lea eax, [eax + ecx*4]
add eax, esi
push eax
push str.Total_requirements:_8ld_bytes_n
call fcn.0044d540
push esi
push 0x46a4b0
call fcn.0044d2a0
push dword [0x47d0fc]
push 0x46a4d0
call fcn.0044d2a0
mov eax, dword [0x47c04c]
shl eax, 2
push eax
push 0x46a4ec
call fcn.0044d2a0
mov eax, dword [0x47a974]
shl eax, 2
push eax
push 0x46a508
call fcn.0044d2a0
push 0x46a528
call fcn.0044d2a0
add esp, 0x2c
cmp dword [ebp - 0x50], 0
je 0x44c4be
push 0x46a548
call fcn.0044d2a0
add esp, 4
jmp 0x44c4ec
test byte [0x47c034], 1
je 0x44c4d6
push 0x46a568
call fcn.0044d2a0
add esp, 4
jmp 0x44c4ec
lea eax, [ebx*4]
push eax
push ebx
push str._ld
call fcn.0044d2a0
add esp, 0xc
mov ecx, dword [0x47c04c]
add ecx, dword [0x47a974]
mov eax, dword [0x47d0fc]
lea eax, [eax + ecx*4]
add eax, esi
push eax
push 0x46a5ac
call fcn.0044d2a0
mov edx, dword [0x47d0d4]
mov ecx, dword [0x47d10c]
add esp, 8
test edi, edi
je 0x44c52e
lea eax, [ecx + edx]
push eax
push 0x6a
call fcn.0045afc0
add esp, 8
cmp dword [ebp - 0x38], 0
jne 0x44c56a
mov ecx, 0x47d318
lea edx, [ecx + 1]
lea esp, [esp]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c540
sub ecx, edx
jne 0x44c56a
cmp dword [0x479094], ecx
jle 0x44c56a
push str.Pawn_compiler_3.2.3664_t__t__tCopyright__c__1997_2017__ITB_CompuPhase_n_n
call fcn.0044d540
push str.Pawn_compiler_3.2.3664_t__t__tCopyright__c__1997_2017__ITB_CompuPhase_n_n
call fcn.0044d2a0
add esp, 8
mov ecx, dword [0x47d0dc]
test ecx, ecx
je 0x44c5a0
cmp dword [0x47bf24], 1
jle 0x44c597
mov eax, dword [0x47bf20]
cmp dword [eax + 4], 0
je 0x44c597
push ecx
call fcn.0040a137
mov ecx, dword [0x47d0dc]
add esp, 4
push ecx
call fcn.004086e2
add esp, 4
mov eax, dword [0x47d0c8]
test eax, eax
je 0x44c5b2
push eax
call fcn.004086e2
add esp, 4
mov eax, dword [0x47bec8]
test eax, eax
je 0x44c5e2
push eax
call fcn.004086e2
add esp, 4
mov dword [0x47bec8], 0
mov dword [0x47bee0], 0
mov dword [0x47bedc], 0
mov eax, dword [0x47bed8]
test eax, eax
je 0x44c612
push eax
call fcn.004086e2
add esp, 4
mov dword [0x47bed8], 0
mov dword [0x47becc], 0
mov dword [0x47bed0], 0
mov eax, dword [0x47beac]
test eax, eax
je 0x44c638
push eax
call fcn.004086e2
add esp, 4
mov dword [0x47beac], 0
mov dword [0x47bea8], 0
push 1
push 1
xor edx, edx
mov ecx, 0x47d2a0
call fcn.00452cf0
push 1
push 1
xor edx, edx
mov ecx, 0x47bf80
call fcn.00452cf0
mov eax, dword [0x47d270]
add esp, 0x10
test eax, eax
je 0x44c675
mov esi, dword [eax]
push eax
call fcn.004086e2
add esp, 4
mov eax, esi
test esi, esi
jne 0x44c664
push 0x30
push 0
push 0x47d270
call fcn.00413920
mov eax, dword [0x47d090]
add esp, 0xc
test eax, eax
je 0x44c6a1
nop
mov esi, dword [eax]
push eax
call fcn.004086e2
add esp, 4
mov eax, esi
test esi, esi
jne 0x44c690
push 0x30
push 0
push 0x47d090
call fcn.00413920
mov eax, dword [0x47c050]
add esp, 0xc
test eax, eax
je 0x44c6d1
jmp 0x44c6c0
mov esi, dword [eax]
push eax
call fcn.004086e2
add esp, 4
mov eax, esi
test esi, esi
jne 0x44c6c0
push 0x30
push 0
push 0x47c050
call fcn.00413920
mov eax, dword [0x47c004]
add esp, 0xc
test eax, eax
je 0x44c701
jmp 0x44c6f0
mov esi, dword [eax]
push eax
call fcn.004086e2
add esp, 4
mov eax, esi
test esi, esi
jne 0x44c6f0
push 0x30
push 0
push 0x47c004
call fcn.00413920
mov edi, dword [0x47bf6c]
add esp, 0xc
test edi, edi
je 0x44c73f
lea esp, [esp]
mov esi, edi
mov edi, dword [edi]
push dword [esi + 4]
call fcn.004086e2
push esi
call fcn.004086e2
add esp, 8
test edi, edi
jne 0x44c720
mov dword [0x47bf6c], edi
mov edi, dword [0x47bf4c]
test edi, edi
je 0x44c771
lea esp, [esp]
push dword [edi + 4]
mov esi, dword [edi]
call fcn.004086e2
push dword [edi + 8]
call fcn.004086e2
push edi
call fcn.004086e2
add esp, 0xc
mov edi, esi
test esi, esi
jne 0x44c750
xorps xmm0, xmm0
xor esi, esi
movq qword [0x47bf4c], xmm0
movq qword [0x47bf54], xmm0
cmp dword [0x47bf68], esi
jle 0x44c7a9
mov edi, edi
mov eax, dword [0x47bf5c]
push dword [eax + esi*4]
call fcn.004086e2
inc esi
add esp, 4
cmp esi, dword [0x47bf68]
jl 0x44c790
push dword [0x47bf5c]
call fcn.004086e2
xorps xmm0, xmm0
xor esi, esi
add esp, 4
movq qword [0x47bf5c], xmm0
movq qword [0x47bf64], xmm0
cmp dword [0x47bf28], esi
jle 0x44c7f9
jmp 0x44c7e0
mov eax, dword [0x47bf1c]
push dword [eax + esi*4]
call fcn.004086e2
inc esi
add esp, 4
cmp esi, dword [0x47bf28]
jl 0x44c7e0
push dword [0x47bf1c]
call fcn.004086e2
xorps xmm0, xmm0
xor esi, esi
add esp, 4
movq qword [0x47bf1c], xmm0
movq qword [0x47bf24], xmm0
cmp dword [0x47bf48], esi
jle 0x44c849
jmp 0x44c830
mov eax, dword [0x47bf3c]
push dword [eax + esi*4]
call fcn.004086e2
inc esi
add esp, 4
cmp esi, dword [0x47bf48]
jl 0x44c830
push dword [0x47bf3c]
call fcn.004086e2
mov edi, dword [0x47bf2c]
xorps xmm0, xmm0
add esp, 4
movq qword [0x47bf3c], xmm0
movq qword [0x47bf44], xmm0
test edi, edi
je 0x44c895
push dword [edi + 4]
mov esi, dword [edi]
call fcn.004086e2
push dword [edi + 8]
call fcn.004086e2
push edi
call fcn.004086e2
add esp, 0xc
mov edi, esi
test esi, esi
jne 0x44c874
xor eax, eax
xorps xmm0, xmm0
mov ecx, 0x3b
mov edi, 0x47eaf8
xor esi, esi
movq qword [0x47bf2c], xmm0
movq qword [0x47bf34], xmm0
rep stosd dword es:[edi], eax
cmp dword [0x47befc], eax
jle 0x44c8d9
mov eax, dword [0x47bef0]
push dword [eax + esi*4]
call fcn.004086e2
inc esi
add esp, 4
cmp esi, dword [0x47befc]
jl 0x44c8c0
push dword [0x47bef0]
call fcn.004086e2
mov eax, dword [0x47be9c]
xorps xmm0, xmm0
add esp, 4
movq qword [0x47bef0], xmm0
movq qword [0x47bef8], xmm0
test eax, eax
je 0x44c90c
push eax
call fcn.004086e2
add esp, 4
xor esi, esi
cmp dword [0x47bf0c], esi
jle 0x44c939
jmp 0x44c920
mov eax, dword [0x47bf00]
push dword [eax + esi*4]
call fcn.004086e2
inc esi
add esp, 4
cmp esi, dword [0x47bf0c]
jl 0x44c920
push dword [0x47bf00]
call fcn.004086e2
mov ecx, dword [0x47bf10]
xorps xmm0, xmm0
add esp, 4
movq qword [0x47bf00], xmm0
movq qword [0x47bf08], xmm0
test ecx, ecx
je 0x44c97e
mov eax, dword [ecx]
push ecx
mov dword [0x47bf10], eax
call fcn.004086e2
mov ecx, dword [0x47bf10]
add esp, 4
test ecx, ecx
jne 0x44c964
mov edx, dword [0x47d120]
test edx, edx
je 0x44c9d4
mov ecx, 0x47d318
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c990
sub ecx, esi
jne 0x44c9ca
mov ecx, 0x46a0d6
cmp edx, 1
mov eax, 0x46a5c8
cmovle eax, ecx
push eax
push edx
push str._n_d_Error_s._n
call fcn.0044d540
push dword [0x47d120]
push 0x46a5dc
call fcn.0044d2a0
add esp, 0x14
mov ebx, 1
jmp 0x44ca5e
mov edx, dword [0x47be88]
add edx, dword [0x47d0cc]
je 0x44ca37
mov ecx, 0x47d318
lea esi, [ecx + 1]
lea ebx, [ebx]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x44c9f0
sub ecx, esi
jne 0x44ca30
mov ecx, 0x46a0d6
cmp edx, 1
mov eax, 0x46a5c8
cmovle eax, ecx
push eax
push edx
push str._n_d_Warning_s._n
call fcn.0044d540
mov eax, dword [0x47be88]
add eax, dword [0x47d0cc]
push eax
push 0x46a5fc
call fcn.0044d2a0
add esp, 0x14
mov ebx, 2
jmp 0x44ca5e
mov ebx, dword [ebp - 0x40]
test ebx, ebx
jne 0x44ca5e
cmp dword [0x479094], 2
jl 0x44ca5e
push str._nDone._n
call fcn.0044d540
push 0x46a61c
call fcn.0044d2a0
add esp, 8
push dword [0x47bd68]
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x44ca89
push 0
push ebx
push str.PawnNotify
call dword [sym.imp.USER32.dll_RegisterWindowMessageA]
push eax
push dword [0x47bd68]
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [ebp + 0x430]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.004086d3
lea esp, [ebp + 0x434]
pop ebp
ret
mov edx, dword [esp + 8]
mov ecx, dword [esp + 4]
jmp 0x44b540